summaryrefslogtreecommitdiff
path: root/libexec/ld.elf_so
AgeCommit message (Collapse)Author
2003-12-07Change the symbol lookup order to search RTLD_GLOBAL objectsmrauch
before referencing object's DAG. This makes it possible for C++ exceptions to work across shared libraries. Patch taken from FreeBSD: src/libexec/rtld-elf/rtld.c: 1.67 -> 1.68, committed there by kan@FreeBSD.org.
2003-11-25Don't try to preload an empty string.christos
2003-11-19Restore handling of reloc entries that point to unaligned locationssimonb
that seems to have disappeared in rev 1.34. Thanks to Jason Thorpe for suggesting where to look. Fixes the simple test case in PR port-mips/23366.
2003-10-21Rework how MAKEVERBOSE operates:lukem
* Don't bother prefixing commands with a line of ${_MKCMD}\ and instead rely upon "make -s". This is less intrusive on all the Makefiles than the former. Idea from David Laight. * Rename the variables use to print messages. The scheme now is: _MKMSG_FOO Run _MKMSG 'foo' _MKTARGET_FOO Run _MKMSG_FOO ${.TARGET} From discussion with Alistair Crooks.
2003-10-21Don't use NULL for integers.fvdl
2003-10-19rework to use the newer _MKMSGCREATE (et al) macroslukem
2003-10-19support MAKEVERBOSElukem
2003-10-06Update to new reality. XXX _rtld_bind still needs to be written.matt
2003-09-24Make the effect of the hack clearer.mycroft
2003-09-24One more tweak...mycroft
2003-09-24Make the comment a little more accurate.mycroft
2003-09-24Temporary workaround for some binutils/ld lossage. See the comment for moremycroft
information.
2003-09-24Some notes...mycroft
2003-09-22Space after the keyword `if'.enami
2003-09-07Back out revision 1.100. There is something screwier going on.mycroft
2003-08-31dlsym() should not leave an error set. It confuses programs that checkmycroft
dlerror() (such as pkgsrc/graphics/transcode).
2003-08-12Resolve dlsym(3) and friends directly so that dlsym(RTLD_NEXT,...) works.skrll
Previously dlsym resolved to the version in crt0.o or libc which would mean that the caller's shared object couldn't be determined correctly using __builtin_return_address(0). Mainly from FreeBSD, but adapted by me. Benefits of this solutions are: - backward comptibility maintained - existing broken binaries are fixed with a new ld.elf_so - __mainprog_obj can be removed from crt0.o - we do the same thing as FreeBSD Fixes PR 22067. OKed by Jason and Christos.
2003-08-07Move UCB-licensed code from 4-clause to 3-clause licence.agc
Patches provided by Joel Baker in PR 22284, verified by myself.
2003-08-05KNFskrll
2003-07-26netbsd.org->NetBSD.orgsalo
2003-07-26include <string.h> or <stdlib.h> for all prototypesmrg
2003-07-24ANSIfy and de-__P().skrll
2003-07-21Support immediate binding on arm.skrll
2003-07-21arm and sh5 also have bogus DT_TEXTRELs. sh5 was already covered so justskrll
update the comment.
2003-07-17Correct the in_plt parameter of a couple of _rtld_find_symdef calls.skrll
The mips_reloc.c case is a no-op as _rtld_symlook_obj ignores in_plt for MIPS. OK'ed by Charles.
2003-07-15s/_rltd_obj_rtld/_rtld_objself/ in #ifdef notyet code.skrll
2003-07-15Whitespaceskrll
2003-07-05Removed unused function.marcus
2003-07-05Add function prototype declarations.tsutsui
2003-07-02Bugfix: Don't pick addend both from reloc and contents at the same time.marcus
2003-06-30Updated to work with current rtld code.marcus
2003-06-30SH also has a bogus DT_TEXTREL, it seems.marcus
2003-06-05KNF- blank lines before code at start of functions.simonb
2003-05-30Add RTLD_FIRST, RTLD_NEXT, RTLD_DEFAULT, from FreeBSDchristos
2003-05-23Fix alignment problem in debug output.petrov
Happens only under RTLD_DEBUG_RELOC.
2003-04-24Back out previous change for now -- it needs more work.mycroft
2003-04-23Attempt to give dlsym() the same symbol-searching semantics as _rtld_bind().mycroft
Tested in a handful of cases. Reviewed by: a dead silence
2003-04-21Handle unaligned relocations, and RELATIVE relocs with non-zero addends.scw
This gets binaries linked against libstdc++ working (FSVO "working").
2003-03-26SH5 needs __HAVE_FUNCTION_DESCRIPTORS defined in order for ld.elf_soscw
to resolve SHmedia function pointers correctly.
2003-03-25Add support for shared libraries/dynamically linked binaries on sh5.scw
With the latest SuperH toolchain, NetBSD/evbsh5 can now run with a fully dynamic userland (modulo a few remaining gremlins affecting a couple of binaries).
2003-03-06make it compile in /usr/src/rescue directory.taca
2003-03-06Align psections to their specified alignment (if possible). Usematt
mmap(2) MAP_ALIGNED.
2003-03-02Shorten rtld_start() by 2 instructions or 8 bytes, and make it not use GOTmycroft
entries.
2003-03-02Shorten rtld_start() slightly -- there's a base-relative _DYNAMIC pointer atmycroft
the beginning of the GOT, so we don't need an extra one here. Also, remove a bogus comment -- we do in fact have to do fixups, because there are pointers in ld.elf_so's data segment that need to be relocated.
2003-03-01Update copyright.mycroft
2003-02-28we have constants for all this crap. don't hard-code things.christos
2003-02-28Eliminate GOT usage in rtld_start() on this platform, too.mycroft
2003-02-28Use the "__NetBSD_Version__" constant rather than the "NetBSD" constantthorpej
in the NetBSD version note. The old "NetBSD" constant was stuck in stone, and thus didn't really convey any useful information.
2003-02-28Similar to other rela platforms, do not use any GOT entries (other than themycroft
first entry, which is a special case) in rtld_start, because they could be all 0s. Instead we use the difference between the real _DYNAMIC address (which we can determine on 68k with a "lea (%pc,_DYNAMIC),..." and the base-relative one (at the beginning of the GOT) to figure out the relocation offset. Not needed for binutils-current, but I might as well fix it now.
2003-02-27Adjust for the fact that the GOT is all 0s in new binutils -- do the trick ofmycroft
disassembling a call to _DYNAMIC to determine its real address, and using the first entry of the GOT as its base-relative address. It's evil, but it works.