Commit Graph

85 Commits

Author SHA1 Message Date
christos 3456da383e Fix i386 problem, when we are relocating ourselves... We cannot depend
on the address of GOT or _DYNAMIC.
1999-03-13 20:00:14 +00:00
kleink 3b03384405 Update an i386-ismed comment. 1999-03-08 10:44:25 +00:00
drochner 90218b7032 make the mipse[lb]->mips translation really work,
thanks Izumi Tsutsui
1999-03-05 11:57:54 +00:00
tsubai c2d83dc354 Make this compile. 1999-03-05 04:50:28 +00:00
christos ec2edc19fd Make this compile without -DRTLD_LOADER and fix printf format problems on
the alpha.
1999-03-03 21:18:00 +00:00
jonathan 1988441027 Not all ports use 'tmp'. 1999-03-03 12:20:00 +00:00
jonathan 3eeb52dee0 Makefile ${MACHINE_ARCH} changes for mips{eb,el}, as suggested by
Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
1999-03-03 12:00:18 +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 bc97a25328 Reality check. 1999-03-01 16:33:21 +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
scottr 2b90737599 Replace local xva_arg() inline function with macros similar to those in
the stdio vfprintf() function.  Fixes compilation errors on powerpc due
to differences in how va_list is implemented.
1999-02-27 21:52:23 +00:00
scottr b69760be08 Fix typo introduced in rev 1.11 1999-02-27 21:38:04 +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
pk 4e7849055a Add comment on the necessity of having to look at implicit memory addends
even though the sparc architecture uses `Elf_Rela' structures exclusively.
1999-02-27 11:36:02 +00:00
pk 1c13c70bab Introduce pre-preocessor symbol RTLD_INHIBIT_COPY_RELOCS.
Currently, only mips does not include COPY_RELOCs code.
1999-02-27 10:44:26 +00:00
pk a32bf0c1c2 Just initialize the stack-based temporary `rtld self' object. 1999-02-27 10:35:16 +00:00
pk 5c519e8777 Target bitmask for RELOC_RELATIVE should be a full word.
Also for RELOC_RELATIVEs, add in the memory contents in addition to r_addend.
1999-02-27 10:24:52 +00:00
christos ddadb71e4e Relative relocations should use addend. 1999-02-26 22:50:03 +00:00
pk 22001aee9c Take care of `load address relative' relocations.
Ignore JMP_SLOTs in non-plt relocations.
1999-02-26 22:13:49 +00:00
pk f6a359f27f Completely construct the first PLT entry and correctly compute the
PC relative offset in the call insn.
1999-02-26 22:07:47 +00:00
pk 801d8e5b9d Implement rtld_bind() stub.
Fix startup code.
1999-02-26 22:01:31 +00:00
tv 7255b47042 Partial fix for Alpha breakage. s/tmp_value/tmp/ in two places, and don't
try to check _rtld_objself when doing R_TYPE(RELATIVE) relocs, as the
Alpha ld.elf_so contains them!

I'm not sure the logic for the RELATIVE fix is quite right; it happens to
Work on alpha, but do we actually need to make sure we aren't relocating
ld.elf_so there?

XXX: I am working on making use of RTLD_RELOCATE_SELF on alpha, which may
make this hack of a fix moot.
1999-02-25 21:49:04 +00:00
christos 84cb65780e Cleanup global variable access so rtld can be self relocating. Also KNF
reloc.c and move md sparc parts to arch/sparc/mdreloc.c
Now we don't need to load at address 0 on the i386 and the mips should be
trivial to fix.
1999-02-24 18:31:00 +00:00
christos 62926e7ee2 Work in progress (does not work yet). 1999-02-24 18:25:40 +00:00
pk 4b4b099e87 Fix glitch in previous. 1999-02-24 12:20:30 +00:00
pk 4c7fbbb5c8 Add an approximation of the necessary sparc bits in here.
I've not followed the trend in this file by trying to wrench the MD
code into individual functions. Rather I,ve replaced several functions
wholesale.  Anyway, this whole file needs to be re-done.
1999-02-22 17:06:11 +00:00
kleink 8e718db8de Replace home-grown header file installation with INCS/INCSDIR; from Erik
Bertelsen in PR bin/6869.
1999-02-21 18:10:24 +00:00
christos 98619fe771 Remove unneeded args for rtld (kleink) 1999-02-19 10:22:14 +00:00
christos abbd7cf487 tv is right; we don't need to specialcase the i386. 1999-02-13 16:35:14 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
tv 9209c9b03a On everything but the i386, don't write new values into the GOT that are
not pointing to the PLT in _rtld_relocate_plt_object().  I'm not quite
sure why the i386 added the extra relocations, but it removed the `return
0' needed for other arches.

THIS DOES NOT YET FIX BUILDING LD.ELF_SO ON ALPHA.  There are some other
binutils 2.9.1 related issues, but this does return build ability to
2.8.1 based as and ld.  Will do more investigation later.
1999-02-12 17:52:07 +00:00
christos 580ca245fd Be consistant about the .rtld_start and _rtld_start 1999-02-12 17:15:52 +00:00
christos 73917056ff Fixed for i386/elf. 1999-02-07 17:24:05 +00:00
christos fed6586383 Support for {h,l,q,ll} modifiers and %p 1999-02-07 17:23:40 +00:00
christos 246b3960cd Add -DRTLD_DEBUG_RELOC commented out. 1999-02-07 17:23:03 +00:00
castor 82bc6ffe05 Avoid confusing various C preprocessors by avoiding # [0-9] 1999-01-18 06:49:57 +00:00
christos d86bec83ec PR/6824: Erik Bertelsen: Missed arch directory in recent move. 1999-01-16 14:59:03 +00:00
thorpej f821bc6d6b Fixup some printf format argFixup some printf format argFixup some printf format argFixup some printf format argFixup some printf format argFixup some printf format argFixup some printf format argFixup some printf format argFixup some printf format args. 1999-01-11 23:12:16 +00:00
christos 9f77dc2e81 Add a few comments about the i386 and others. 1999-01-11 11:05:29 +00:00
christos 14d2402e4b Add i386 bits. Only works with -fpic or -fPIC compiled binaries since
COPY relocations don't work.
1999-01-10 18:21:24 +00:00
christos d72f81978d Add i386 bits 1999-01-10 18:18:56 +00:00
christos afb18a5077 Moved via repository copy to arch/powerpc 1999-01-10 17:34:42 +00:00
christos 86ef105de2 Moved via repository copy to arch/mips 1999-01-10 17:33:59 +00:00
christos a12e7c4c86 Moved via repository copy to arch/alpha 1999-01-10 17:33:11 +00:00
christos ab951f38e0 Add __attribute__ for printf like commands. 1999-01-10 17:19:01 +00:00
castor dc6b4c42a3 Restore missing variable declaration with -DRTLD_DEBUG 1999-01-09 18:10:19 +00:00
tsubai 775e7035f4 Add powerpc support. 1998-11-24 11:34:30 +00:00
jonathan fd7cb41920 gdb's shared-lib mapping code in solib.c has #ifdef dependencies on
DT_MIPS_RLD_MAP being defined on mips targets with shared libs. Since
netbsd's gdb config.h defines HAVE_LINK_H, link.h is expected to
provide it. So #include <machine/elf_machdep.h> to make it so.
1998-10-30 05:43:40 +00:00