<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/libexec/rtld-elf/alpha/rtld_machdep.h, branch stable/4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=stable%2F4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2002-09-02T02:10:20Z</updated>
<entry>
<title>MFC: ld-elf.so.1 assumed a few too many things about the ordering of sections</title>
<updated>2002-09-02T02:10:20Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2002-09-02T02:10:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f9498d3b9e092e45dacdec79a50252ae595ddff7'/>
<id>urn:sha1:f9498d3b9e092e45dacdec79a50252ae595ddff7</id>
<content type='text'>
produced by ld(8) (ie: that _DYNAMIC immediately follows the _GOT).
Update ld.so to deal with the new (faster) PLT format that gcc-3.1 and
binutils can produce.
</content>
</entry>
<entry>
<title>MFC: Use spinlocks + nanosleep for thread locking to make it work</title>
<updated>2000-07-12T04:49:06Z</updated>
<author>
<name>John Polstra</name>
<email>jdp@FreeBSD.org</email>
</author>
<published>2000-07-12T04:49:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d2325b6c390b790dccc71dc12d2accb893d06a28'/>
<id>urn:sha1:d2325b6c390b790dccc71dc12d2accb893d06a28</id>
<content type='text'>
with all threads packages.  Revamp data structures to allow
non-exclusive locking in most cases.  Deprecate dllockinit() and
make it a do-nothing stub.  Merges in the following deltas:

    src/libexec/rtld-elf/rtld.c			1.46
    src/libexec/rtld-elf/rtld.h			1.18
    src/libexec/rtld-elf/alpha/lockdflt.c	1.5
    src/libexec/rtld-elf/alpha/rtld_machdep.h	1.4
    src/libexec/rtld-elf/alpha/rtld_start.S	1.4
    src/libexec/rtld-elf/i386/lockdflt.c	1.5
    src/libexec/rtld-elf/i386/rtld_machdep.h	1.4
</content>
</entry>
<entry>
<title>$Id$ -&gt; $FreeBSD$</title>
<updated>1999-08-28T00:22:10Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>1999-08-28T00:22:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7f3dea244c40159a41ab22da77a434d7c5b5e85a'/>
<id>urn:sha1:7f3dea244c40159a41ab22da77a434d7c5b5e85a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a serious performance bug for large programs on the Alpha,</title>
<updated>1999-06-25T02:53:59Z</updated>
<author>
<name>John Polstra</name>
<email>jdp@FreeBSD.org</email>
</author>
<published>1999-06-25T02:53:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=962fdc466afdd71fb36d0c285205fd2876212b5e'/>
<id>urn:sha1:962fdc466afdd71fb36d0c285205fd2876212b5e</id>
<content type='text'>
discovered by Hidetoshi Shimokawa.  Large programs need multiple
GOTs.  The lazy binding stub in the PLT can be reached from any of
these GOTs, but the dynamic linker only has enough information to
fix up the first GOT entry.  Thus calls through the other GOTs went
through the time-consuming lazy binding process on every call.

This fix rewrites the PLT entries themselves to bypass the lazy
binding.

Tested by Hidetoshi Shimokawa and Steve Price.

Reviewed by:	Doug Rabson &lt;dfr@freebsd.org&gt;
</content>
</entry>
<entry>
<title>Eliminate all machine-dependent code from the main source body and</title>
<updated>1999-04-09T00:28:43Z</updated>
<author>
<name>John Polstra</name>
<email>jdp@FreeBSD.org</email>
</author>
<published>1999-04-09T00:28:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d5b537d01a6711c4426da2a627b11a71cf3b11e8'/>
<id>urn:sha1:d5b537d01a6711c4426da2a627b11a71cf3b11e8</id>
<content type='text'>
the Makefile, and move it down into the architecture-specific
subdirectories.

Eliminate an asm() statement for the i386.

Make the dynamic linker work if it is built as an executable instead
of as a shared library.  See i386/Makefile.inc to find out how to
do it.  Note, this change is not enabled and it might never be
enabled.  But it might be useful in the future.  Building the
dynamic linker as an executable should make it start up faster,
because it won't have any relocations.  But in practice I suspect
the difference is negligible.
</content>
</entry>
</feed>
