mrg
9108f12f6b
move the defines for RTLD_ARCH_SUBDIR into a sub-sub-makefile so we can
...
grab these values via reach-over more easily.
2009-01-06 02:15:06 +00:00
mrg
8679e33545
if LD32DIR is defined:
...
- look in src/compat/lib/libc for libc_pic.
- define RTLD_ARCH_SUBDIR to "i386" or "sparc" for amd64 and sparc64
builds, respectively
if RTLD_ARCH_SUBDIR is defined, add this path before
RTLD_DEFAULT_LIBRARY_PATH in the default search path.
2008-10-26 07:11:54 +00:00
skrll
dccd9ddf7f
RCSID police
2008-07-24 06:51:58 +00:00
matt
38bdc8954f
Refactor common code to _rtld_relocate_plt_object to i386 and arm so they
...
act like the other versions.
In _rtld_bind, if the result is 0, call _rtld_die.
Initialize _rtld_sym_zero.st_value to -_rtld_objself.maprelocbase. Now when
the symbol is resolved, st_value + maprelocbase will equal 0 and the above
check in _rtld_bind will fire and a call to NULL will be avoided.
2008-07-24 04:39:25 +00:00
christos
d3b459e727
abort() if we are trying to use an undefined weak symbol from the plt. Remove
...
check from relocate_plt_object() since we cannot return _rtld_sym_zero anymore.
Code from gimpy.
2008-07-23 18:16:42 +00:00
christos
0d33a45b97
handle sym_zero like x86_64; other ports might need this too.
2008-07-22 22:27:07 +00:00
christos
56e895e29f
deal specially with sym_zero, returned by a weak symbol that was not found,
...
by retrieving it's name instead of printing random garbage.
2008-07-21 20:19:28 +00:00
martin
ce099b4099
Remove clause 3 and 4 from TNF licenses
2008-04-28 20:22:51 +00:00
scw
5764a76889
Remove support for NetBSD/{,evb}sh5.
2007-04-08 09:35:21 +00:00
matt
ee98d74a6b
Remove MD COMBRELOC support since it's now MI.
...
Enable COMBRELOC for all arches
2007-02-23 01:17:11 +00:00
martin
3cc1de3d7b
Add COMBRELOC support
2007-02-15 19:42:13 +00:00
skrll
1fddd99f52
Provide COMBRELOC support for amd64 in answer to PR/35589.
...
Some statistics:
base + COMBRELOC
$ time (for i in `seq 100`;do noatun --help>/dev/null;done)
(; for i in `seq 100`; do; noatun --help > /dev/null; done; ) 148.64s
user 4.82s system 99% cpu 2:33.93 total
base + DF caching:
$ time (for i in `seq 100`;do noatun --help>/dev/null;done)
(; for i in `seq 100`; do; noatun --help > /dev/null; done; ) 151.15s
user 5.53s system 99% cpu 2:37.23 total
base:
$ time (for i in `seq 100`;do noatun --help>/dev/null;done)
(; for i in `seq 100`; do; noatun --help > /dev/null; done; ) 492.36s user
5.34s system 99% cpu 8:19.17 total
2007-02-15 15:44:28 +00:00
skrll
6f388cd224
Create _rtld_relocate_plt_object and use it in _rtld_bind and
...
_rtld_relocate_plt_objects.
No functional change.
2006-10-17 08:33:36 +00:00
skrll
152e43d87a
Support unaligned DIR32 relocs.
...
Closes PR 18293
2006-10-17 08:28:06 +00:00
skrll
edf13fb5fb
Reformat a comment.
2006-10-16 13:53:09 +00:00
skrll
78b8583054
Correct the frame size for a couple of ENTRYs
2006-10-16 13:52:47 +00:00
simonb
428d37fad6
Fix unaligned loads and stores generated by gcc4. Problem described in
...
http://mail-index.NetBSD.org/tech-toolchain/2006/06/27/0001.html .
This cleaner version of the patch from Christos - thanks!
2006-06-28 16:48:38 +00:00
mrg
0f0f2b4e93
in _rtld_bind() initialise new_value for GCC4.
2006-05-23 16:27:41 +00:00
mrg
d677e4a13a
avoid more GCC4 uninitialised variable problems. (sh3 known, vax guessed.)
2006-05-21 04:17:35 +00:00
dan
b995f58933
appease gcc4 uninitialiased warning
...
ok mrg.
2006-05-20 23:38:27 +00:00
mrg
82f7733046
in _rtld_bind() initialise result to appease GCC4.
2006-05-20 07:09:44 +00:00
mrg
084c052803
quell GCC 4.1 uninitialised variable warnings.
...
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
skrll
c965f60a50
Remove empty lines.
2006-04-03 13:23:15 +00:00
christos
458b13dee7
Coverity CID 923: Avoid NULL deref.
2006-03-18 23:09:34 +00:00
skrll
125d6a43ac
Add LD_BIND_NOW support for mips.
...
This is the last arch to be done so remove the large ugly #if defined()
stuff in reloc.c.
2006-03-04 08:58:46 +00:00
uwe
a35d2a5b09
Add some comments.
2006-01-11 22:24:34 +00:00
uwe
e7102691a2
Kill trailing whitespace.
...
Indent delay slots.
2006-01-11 22:05:27 +00:00
perry
ae6ae2c362
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
2005-12-24 20:56:41 +00:00
chs
0c6e4dbbc4
ok, the change from rev 1.33 was unnecessary after all,
...
only the second part of the previous revision was needed.
put the logic for the initial icache invalidation of the PLT
back the way it was, but in a way that makes clearer what's going on,
and add some comments explaining it.
2005-09-27 07:20:32 +00:00
chs
96fb424f44
fix two problems with icache invalidation of the PLT:
...
- restore revision 1.33, it was correct.
- fix pointer arithmetic in other calls to __syncicache().
2005-09-26 05:45:13 +00:00
skrll
680596d08e
Add __RCSID.
2005-08-20 19:01:16 +00:00
skrll
9f486044a0
KNF
2005-08-15 10:52:42 +00:00
skrll
5f0dd3a852
Add support for immediate PLT binding on SH5. Compile tested only as
...
shared libs don't actually work on SH5 (yet).
OK'd by Steve Woodford.
2005-07-28 12:35:21 +00:00
skrll
57e00bf69e
Support immediate PLT binding on powerpc. Thanks to Simon Burge for
...
testing.
I can see the finish line...
2005-07-28 10:54:30 +00:00
skrll
56d4febf60
Support immediate PLT binding on m68k. Tested on NetBSD/sun3 using the new
...
version of tme.
Not far now...
2005-07-26 15:43:34 +00:00
skrll
51c5e03c82
Support immediate PLT binding on vax. Tested on simh.
...
Nearly there...
2005-07-24 08:02:23 +00:00
skrll
16044f3d38
Support immediate binding on x86_64.
...
Closes PR 30570. Thanks to TAMURA Kent for testing.
2005-07-17 05:57:21 +00:00
fair
af23ff4dbb
appease gcc -Wuninitialized
2005-06-08 00:19:18 +00:00
he
7ed57630be
Initialize a bunch of local variables in _rtld_relocate_nonplt_self().
...
Found by -Wuninitialized while compiling for newsmips.
Reviewed by lukem.
2005-06-07 09:20:19 +00:00
chs
7bbdd188e1
appease gcc -Wuninitialized on hp700.
2005-06-05 19:08:28 +00:00
lukem
3ed9ffcae1
Explicitly prefix ld(1) options in LDFLAGS with "-Wl," rather than
...
using the ${LDFLAGS:@F@-Wl,$F@} make substitution because that breaks
if LDFLAGS is already set.
2005-06-04 16:17:17 +00:00
lukem
a12d17494d
appease gcc -Wuninitialized
2005-06-01 14:14:55 +00:00
skrll
9c5ec319c5
Support LD_BIND_NOW on sh3..
2005-05-31 19:30:38 +00:00
skrll
13901ecdef
Support LD_BIND_NOW for alpha.
2005-05-25 13:39:46 +00:00
skrll
504512d318
Copyright maintenance.
2005-05-21 06:43:39 +00:00
martin
0a1196da3e
Add LD_BIND_NOW support for sparc and remove some relocation types that
...
are not supposed to happen in 32bit code.
From Nick Hudson.
2005-01-09 14:58:15 +00:00
martin
995d8a8e4b
Add support for unaligned relocs on sparc, from PR 26858.
...
Should also fix PR 25901 and PR 18296.
2005-01-05 09:18:53 +00:00
martin
35130888e4
Add LD_BIND_NOW support for sparc64.
2005-01-05 09:16:03 +00:00
mycroft
ac7236712a
ELF32_ST_TYPE -> ELF_ST_TYPE
2004-12-17 10:53:27 +00:00
skrll
38fb01be3a
Apply fixes from Charles:
...
- Fix how _rtld_relocate_nonplt_self deals with REL32 relocations.
- Change the assert so that it is correct for binutils 2.14 and 2.15.
There are still problems with the libraries generated with binutils 2.15,
but at least ld.elf_so doesn't crash.
2004-12-15 10:26:29 +00:00