#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
233694 |
|
30-Mar-2012 |
kib |
MFC r232831: Add support for preinit, init and fini arrays to rtld. Only binaries marked with proper ABI note gets array ctr/dtrs called.
MFC r232856: When iterating over the dso program headers, the object is not initialized yet, and object segments are not yet mapped. Only parse the notes that appear in the first page of the dso (as it should be anyway), and use the preloaded page content.
MFC r232857 (by dim): Fix a warning/error with clang.
MFC r232859 (by dim): Amend r232857, now dropping the casts entirely, as they were not necessary at all.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
217851 |
|
25-Jan-2011 |
kib |
When loading dso without PT_GNU_STACK phdr, only call __pthread_map_stacks_exec() on architectures that allow executable stacks.
Reported and tested by: marcel (ia64)
|
#
191291 |
|
19-Apr-2009 |
rwatson |
Now that the kernel defines CACHE_LINE_SIZE in machine/param.h, use that definition in the custom locking code for the run-time linker rather than local definitions.
Pointed out by: tinderbox MFC after: 2 weeks
|
#
174128 |
|
01-Dec-2007 |
rwatson |
For un-prototyped static inline functions declared in pthread_md.h on sparc64, use ANSI function headers and specifically indicate the lack of arguments with 'void'. Otherwise, warnings are generated at WARNS=3 for libkse, leading to a compile failure with -Werror.
|
#
133063 |
|
03-Aug-2004 |
dfr |
Add support for Thread Local Storage.
|
#
130661 |
|
18-Jun-2004 |
tmm |
Fix the problem that surfaced with the new binutils import on sparc64 (and that is for now being worked around by a binutils patch).
The rtld code tested &_DYNAMIC against 0 to see whether rtld itself was built as PIC or not. While the sparc64 MD code did not rely on the preset value of the GOT slot for _DYNAMIC any more due to previous binutils changes, it still used to not be 0, so that this check did work. The new binutils do however initialize this slot with 0. As a consequence, rtld would not properly initialize itself and crash. Fix that by introducing a new macro, RTLD_IS_DYNAMIC, to take the role of this test. For sparc64, it is implemented using the rtld_dynamic() code that was already there. If an architecture does not provide its own implementation, we default to the old check.
While being there, mark _DYNAMIC as a weak symbol in the sparc64 rtld_start.S. This is needed in the LDSCRIPT case, which is however not currently supported for want of an actual ldscript.
Sanity checked with md5 on alpha, amd64, i386 and ia64.
|
#
117211 |
|
03-Jul-2003 |
jake |
Avoid using the global offset table to get the address of _DYNAMIC in rtld. When _DYNAMIC is referenced normally from C the global offset table is used implicitly, but newer versions of binutils don't initialize it statically in the binary, so this doesn't work until rtld is relocated, which _DYNAMIC is needed for... So, as on other systems with the same problem, we disassemble a call instruction to _DYNAMIC in order to get its address.
|
#
115396 |
|
29-May-2003 |
kan |
Allow threading libraries to register their own locking 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)
|
#
107071 |
|
18-Nov-2002 |
tmm |
Fix the handling of high PLT entries (> 32764) on sparc64. This requires 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
|
#
104724 |
|
09-Oct-2002 |
ru |
<machine/atomic.h> requires <sys/types.h>.
Reviewed by: jake, mike
|
#
92195 |
|
13-Mar-2002 |
jake |
rtld support for sparc64.
Largely obtained from: netbsd Submitted by: jake, tmm
|