<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/libexec/rtld-elf/alpha, branch release/5.3.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-11-04T19:12:42Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-11-04T19:12:42Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-11-04T19:12:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3f86d8a2ea3f3265afaa1fd263b0004c5c000e69'/>
<id>urn:sha1:3f86d8a2ea3f3265afaa1fd263b0004c5c000e69</id>
<content type='text'>
'RELENG_5_3_0_RELEASE'.

This commit was manufactured to restore the state of the 5.3-RELEASE image.
</content>
</entry>
<entry>
<title>Add support for Thread Local Storage.</title>
<updated>2004-08-03T08:51:00Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2004-08-03T08:51:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=017246d02f18aa1b754027fe6c058a76659e66b7'/>
<id>urn:sha1:017246d02f18aa1b754027fe6c058a76659e66b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow threading libraries to register their own locking</title>
<updated>2003-05-29T22:58:26Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2003-05-29T22:58:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6d5d786f800c42ac9eec4ba9ac7202bd184c7242'/>
<id>urn:sha1:6d5d786f800c42ac9eec4ba9ac7202bd184c7242</id>
<content type='text'>
implementation in case default one provided by rtld is
not suitable.

Consolidate various identical MD lock implementation into
a single file using appropriate machine/atomic.h.

Approved by:	re (scottl)
</content>
</entry>
<entry>
<title>No need to zero fill memory, mmapped anonymously. Kernel will</title>
<updated>2003-03-14T21:10:13Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2003-03-14T21:10:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=605f36fc1e6d3d7343da452daffa9c53f72d97e9'/>
<id>urn:sha1:605f36fc1e6d3d7343da452daffa9c53f72d97e9</id>
<content type='text'>
return pre-zeroed pages itself.

Noticed by:     jake
</content>
</entry>
<entry>
<title>Fix the handling of high PLT entries (&gt; 32764) on sparc64. This requires</title>
<updated>2002-11-18T22:08:50Z</updated>
<author>
<name>Thomas Moestl</name>
<email>tmm@FreeBSD.org</email>
</author>
<published>2002-11-18T22:08:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a42a42e9b9cd091de549a3b144e89d7c4b5bc2fd'/>
<id>urn:sha1:a42a42e9b9cd091de549a3b144e89d7c4b5bc2fd</id>
<content type='text'>
additional arguments to reloc_jmpslot(), which is why MI code and MD code
of other platforms had to be changed.

Reviewed by:	jake
Approved by:	re
</content>
</entry>
<entry>
<title>Use the new freebsd output format from Binutils 2.13.1.</title>
<updated>2002-10-12T02:30:53Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2002-10-12T02:30:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b2bced0aefdb9fafa370e17ec2537f3a932ad64c'/>
<id>urn:sha1:b2bced0aefdb9fafa370e17ec2537f3a932ad64c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove the nanosleep calls from the spin loops in the locking code.</title>
<updated>2002-07-06T20:25:56Z</updated>
<author>
<name>John Polstra</name>
<email>jdp@FreeBSD.org</email>
</author>
<published>2002-07-06T20:25:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e6f0183bfff07d4d2ce3ccdb6460d3bd216e7a62'/>
<id>urn:sha1:e6f0183bfff07d4d2ce3ccdb6460d3bd216e7a62</id>
<content type='text'>
They provided little benefit (if any) and they caused some problems
in OpenOffice, at least in post-KSE -current and perhaps in other
environments too.  The nanosleep calls prevented the profiling timer
from advancing during the spinloops, thereby preventing the thread
scheduler from ever pre-empting the spinning thread.  Alexander
Kabaev diagnosed this problem, Martin Blapp helped with testing,
and Matt Dillon provided some helpful suggestions.

This is a short-term fix for a larger problem.  The use of spinlocking
isn't guaranteed to work in all cases.  For example, if the spinning
thread has higher priority than all other threads, it may never be
pre-empted, and the thread holding the lock may never progress far
enough to release the lock.  On the other hand, spinlocking is the
only locking that can work with an arbitrary unknown threads package.

I have some ideas for a much better fix in the longer term.  It
would eliminate all locking inside the dynamic linker by making it
safe for symbol lookups and lazy binding to proceed in parallel
with a call to dlopen or dlclose.  This means that the only mutual
exclusion needed would be to prevent multiple simultaneous calls
to dlopen and/or dlclose.  That mutual exclusion could be put into
the native pthreads library.  Applications using foreign threads
packages would have to make their own arrangements to ensure that
they did not have multiple threads in dlopen and/or dlclose -- a
reasonable requirement in my opinion.

MFC after:	3 days
</content>
</entry>
<entry>
<title>This is the same alloca() fix as was committed for i386.  David O'Brien</title>
<updated>2002-06-18T05:42:33Z</updated>
<author>
<name>Matthew Dillon</name>
<email>dillon@FreeBSD.org</email>
</author>
<published>2002-06-18T05:42:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=eebf98659e0ea6038a324fc3b1bd33f22dd7c7f1'/>
<id>urn:sha1:eebf98659e0ea6038a324fc3b1bd33f22dd7c7f1</id>
<content type='text'>
tested the patch on -stable.

Reviewed by:	obrien
Approved by:	jdp
MFC after:	3 days
</content>
</entry>
<entry>
<title>ld-elf.so.1 assumed a few too many things about the ordering of sections</title>
<updated>2002-02-18T02:24:10Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2002-02-18T02:24:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=939bc657150eed349615e3c2e416e57e89a3ee5d'/>
<id>urn:sha1:939bc657150eed349615e3c2e416e57e89a3ee5d</id>
<content type='text'>
produced by ld(8) (ie: that _DYNAMIC immediately follows the _GOT).
The new binutils import changed that, and the intial GOT relocation
broke.  Use a custom linker script to provide a real end-of-GOT symbol.

Update ld.so to deal with the new (faster) PLT format that gcc-3.1 and
binutils can produce.

This is probably incomplete, but appears to be working again.

Obtained from:  NetBSD
(And a fix to a silly mistake that I made by:  gallatin)
</content>
</entry>
<entry>
<title>Update rtld for the "new" ia64 ABI.  In the old toolchain, the</title>
<updated>2001-10-29T10:10:10Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2001-10-29T10:10:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=14a55adf3628d7fa359a37f14bb7bf59f6cec53f'/>
<id>urn:sha1:14a55adf3628d7fa359a37f14bb7bf59f6cec53f</id>
<content type='text'>
DT_INIT and DT_FINI tags pointed to fptr records.  In 2.11.2, it points
to the actuall address of the function.  On IA64 you cannot just take
an address of a function, store it in a function pointer variable and
call it.. the function pointers point to a fptr data block that has the
target gp and address in it.  This is absolutely necessary for using
the in-tree binutils toolchain, but (unfortunately) will not work with
old shared libraries.  Save your old ld-elf.so.1 if you want to use
old ones still.  Do not mix-and-match.

This is a no-op change for i386 and alpha.

Reviewed by:	dfr
</content>
</entry>
</feed>
