Commit Graph

85 Commits

Author SHA1 Message Date
matt 0ce5ca145f Change to use a register prefix. 2002-02-24 01:06:18 +00:00
thorpej cb2e377d4c Whitespace cleanup. 2002-02-04 18:18:51 +00:00
thorpej 67b1884571 Add support for dynamic linking on the SuperH. From Marcus Comstedt,
with some bug fixes (namely, don't forget to consider the addend when
processing relocations) from me.
2002-02-03 23:34:42 +00:00
thorpej b3827960df Grumble. Put compiler options back into CPPFLAGS for now, since
they're needed to build .S files with the correct PIC options.

XXX Really needs cleanup in <bsd.*.mk> to do this properly.
2001-12-20 19:20:02 +00:00
thorpej 7dcc71da1d Don't put compiler options into CPPFLAGS. 2001-12-14 22:21:45 +00:00
thorpej 151a90b5ce ...and the other other missing notice. 2001-12-14 22:11:47 +00:00
thorpej d63d6c6cea Add other missing copyright notice. 2001-12-14 22:07:23 +00:00
fvdl 02f3677f38 Add missing copyright notice. 2001-12-14 21:33:59 +00:00
thorpej 6d9f5579ab Garbage-collect the OLD_GOT stuff. 2001-12-14 21:25:22 +00:00
thorpej 6e94624a62 Add code to peek into the PLT and determine which PLT entry format
is being used.
2001-12-14 00:53:06 +00:00
thorpej 67925dcb0d Supply two lazy binding routines for Alpha: one that works with the
old PLT format, and one that works with the new.

XXX We currently always use _rtld_bind_start_old() in
_rtld_setup_alpha_pltgot().  We need to add code to peek
into one of the PLT entries to see which format it's in
and pick the correct binding routine.
2001-12-13 22:34:51 +00:00
thorpej cbadc6e3d3 Use numeric labels. 2001-12-13 21:34:04 +00:00
thorpej 23abd45cd4 Add RCS ID. 2001-12-13 20:31:31 +00:00
thorpej bbb7ad0534 * Add a linker script which provides a _GOT_END_ symbol that we can
use to find the end of the GOT, rather than relying on _DYNAMIC
  to immediately follow the GOT.  (A change in current binutils
  moved _DYNAMIC, and thus would have broken our Alpha ld.elf_so).
* Add #ifdef'd out code to deal with the new PLT format.
2001-12-13 20:30:48 +00:00
rafal 24ed46ea21 Fix bug found by Izumi Tsutsui -- if _rtld_find_symdef returned NULL, the
runtime linker would crash.  Restore behavior similar to version 1.3, where
the runtime linker continues on, ignoring the symbol.
2001-11-24 18:07:04 +00:00
rafal 2576af45bb Fix how underfined weak symbols are treated -- before, ld.so would do nothing
with them, rather than defaulting them to zero.  This caused breakage with
the drawf EH stuff and init/fini code when they weren't used by the caller
(and hence the appropriate handlers were left undefined).  Also fix an un-
initialized variable in symbol.c that only MIPS MD code tripped over.
2001-10-14 23:13:21 +00:00
mycroft cf4aca11b5 In the `I can't believe it's been broken all this time' department:
_rtld_bind_start must save and restore the condition codes.  Varargs functions
(like, say, printf()) depend on the state of cr1 to determine whether they need
to store floating point registers in the save area.  Without this, the first
call to any particular varargs function will fail if floating point values were
passed.
2001-09-26 04:06:43 +00:00
mycroft 7ff3aa31e8 Reorganize PowerPC cold a little. The return value from _rtld_bind_pltgot()
was ambiguous in the case of a weak symbol that was not defined.  This caused
RTLD_NOW to fail badly with shared libraries linked against the new crtbegin.o.
2001-09-10 06:09:41 +00:00
eeh 192ea0d41e Correct some comments. 2001-08-14 22:17:48 +00:00
eeh 2e3cc27a62 Get rid of some debug code that should no longer be needed. 2001-08-14 20:16:38 +00:00
matt 85d99cf46c Fix binder routine to not use a volatile register. 2001-07-15 23:19:59 +00:00
matt 2285430c7e Bugfix for _rtld_start. Enable common plt processing code for arm 2001-07-15 17:31:02 +00:00
matt a61a40997d Initial support for dynamic ELF support on ARM. 2001-07-15 03:08:33 +00:00
fvdl b13cc91d31 Get stack layout right. 2001-06-20 17:58:16 +00:00
fvdl e55b167011 Remove mistaken casts of PLT relocations to 32 bit values. 2001-06-20 17:58:05 +00:00
fvdl 315360cfd2 Adapt for an actually correct sys/exec_elf.h 2001-06-19 12:07:50 +00:00
fvdl d1d73371a6 Preliminary x86-64 support. Not fully functional yet (toolchain bugs). 2001-06-19 01:11:03 +00:00
nathanw ed485c7ad5 Correct spelling in a comment. 2001-05-28 06:10:20 +00:00
kleink 63ccd3db5b Sync with <sys/exec_elf.h> rev. 1.45: ElfNN_RelA -> ElfNN_Rela. 2001-04-25 12:24:50 +00:00
scw b37a02f8c1 Define VARPSZ so dynamic binaries work on both 4K and 8K page size machines. 2000-12-21 09:12:54 +00:00
eeh 45de780533 Wrong register in machine code description. 2000-09-16 14:04:30 +00:00
matt 1ed7963458 Simplify some stuff. 2000-08-07 01:47:04 +00:00
mycroft 43cfeb27a9 Catch up with type changes. Also:
* Apply DT_PLTRELSZ to (one of) pltrel or pltrela *after* we've finished
  parsing the headers, so we know which one.
* Fix sparc64 bogons.  (It works now!)
2000-07-26 02:07:34 +00:00
eeh 55c1b7fb0d Fix some issues with SPARC V9 ELF binaries. 2000-07-18 22:33:55 +00:00
matt 824a084272 More VAX ELF changes. 2000-07-17 02:55:52 +00:00
matt 63465d3193 No need for RELOCATE_SELF since the VAX does real PIC. Rewrite the bind
routine to deal with JMP .vs. CALLx differences.
2000-07-14 22:03:02 +00:00
eeh 3cf5c2adbf Added support for the SPARC v9 ABI. 2000-07-13 23:14:17 +00:00
matt 86d15d820b Update to current <machine/asm.h> 2000-07-03 03:31:47 +00:00
matt 0189702cee minor fix now that i've defined the plt0 entry. 2000-05-22 19:17:04 +00:00
mycroft 3d5dc334de Don't try to get libc_pic from the libc compile directory. If we're doing a
build, libc has already been installed.
2000-03-26 21:55:55 +00:00
mycroft bbe4b07983 Make this more likely to compile with ld.elf_so changes. (But this is
untested.)
1999-11-07 08:08:15 +00:00
mycroft 4bbb8dc9fb Make this more likely to compile with ld.elf_so changes. (But this is
untested.)
1999-11-07 08:01:51 +00:00
mycroft 7ea23adf34 More fallout. 1999-11-07 06:48:21 +00:00
mycroft 4b9f2ff9e0 Fix fallout from MD ld.elf_so changes. 1999-11-07 06:41:49 +00:00
tsubai 64ac9d7bdb Revert to rev. 1.4. This file didn't need to change. 1999-10-28 09:50:07 +00:00
kleink 522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
itohy 6fa7d72ce5 Make __SVR4_ABI__ optional. 1999-10-18 03:26:53 +00:00
kleink 83265a56f2 Bump text alignments to 4 bytes. 1999-08-23 09:13:25 +00:00
matt 741f18b695 Initial VAX ELF32 support (mostly untested). It's checked primarily for
testing and archival for now.  I don't expect anyone to work with it
since the binutils and gas changes are still pending.  But you got to
crawl before you walk.
1999-08-21 19:26:18 +00:00
christos 00e5621847 We need to compile with -DVARPSZ, because the sparc has a variable page
size depending on arch. Make it an error to compile without it. This
caused -lposix linked programs to fail.
1999-06-22 16:28:22 +00:00