Commit Graph

70 Commits

Author SHA1 Message Date
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
castor c195474580 This should use MACHINE_ARCH and test on "mipseb" instead of MACHINE and
"newsmips"
1999-06-07 18:04:31 +00:00
tsubai c47f82d209 syncicache is needed... 1999-05-21 08:00:11 +00:00
kleink 75030fa2ee Add m68k code. 1999-04-29 15:06:41 +00:00
thorpej 44672d5287 Simplify _rtld_start() a little, and shave some cycles. Spefically, there's
no need to save the stack pointer.  Just push the space for the cleanup
and obj_main pointers before calling _rtld(), and pop it after loading those
pointers into the appropriate argument registers for the program entry point.
1999-04-19 00:05:00 +00:00
thorpej 80deb5d223 Tidy this up a little. 1999-04-18 23:12:59 +00:00
ws bf9c27b80b Add code to use the kernel provided page size.
Enable this on the powerpc only for now.
1999-04-18 19:40:06 +00:00
ws 5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
simonb 8400044681 Remove the ld.so link for ld.elf_so - the compat13 package takes care
of this.
1999-04-16 15:49:20 +00:00
simonb 14fe5254b3 Don't include <machine/regdef.h>. 1999-03-28 11:56:51 +00:00
tsubai c2d83dc354 Make this compile. 1999-03-05 04:50:28 +00:00
christos c346a6827a fix rdbg macro args. 1999-03-01 18:59:31 +00:00
christos 26475619ed KNF 1999-03-01 16:40:07 +00:00
christos 77aa6b2a64 - Use c style comments.
- & -> and
- align 4 in both functions for consistency.
1999-03-01 14:40:32 +00:00
kim 62b98a9670 Make mkdep succeed (use matching quotes in comment). 1999-03-01 03:39:39 +00:00
pk e81b9ed433 * Make changing the PLT slot entry (lazy function binding) thread-safe.
* Insert `iflush' instructions for the patched words in PLT entries.
1999-02-27 17:12:13 +00:00