summaryrefslogtreecommitdiff
path: root/ldso/ldso/powerpc/elfinterp.c
AgeCommit message (Collapse)Author
2003-02-16Fixup powerpc syscalls to eliminate warnings with gcc-3.2, and fixEric Andersen
some other minor warnings.
2002-11-12A powerpc patch from Ronald Wahl:Eric Andersen
Ok, now i got it after a day of work. I have had a look into glibc and found the following: sysdeps/powerpc/dl-machine.c: ... case R_PPC_JMP_SLOT: /* It used to be that elf_machine_fixup_plt was used here, but that doesn't work when ld.so relocates itself for the second time. On the bright side, there's no need to worry about thread-safety here. */ { Elf32_Sword delta = finaladdr - (Elf32_Word) reloc_addr; ... The comment made me suspicious. The same position in uClibc looks like this: ldso/ldso/powerpc/elfinterp.c: ... case R_PPC_JMP_SLOT: { unsigned long targ_addr = (unsigned long)_dl_linux_resolve; int delta = targ_addr - (unsigned long)reloc_addr; ... When I change it to the following it works: ... case R_PPC_JMP_SLOT: { unsigned long targ_addr = *reloc_addr; int delta = targ_addr - (unsigned long)reloc_addr; ... I hope it will not break anything. Can anyone review this change and commit it into CVS? thanks, ron
2002-11-06Fix up a compile errorEric Andersen
2002-11-05Massive scrubbing of the shared lib loader error handling.Eric Andersen
Move all configuration options into the new config system. -Erik
2002-08-08Patch from Stefan Allius and Edie C. Dost to add SuperHEric Andersen
shared library support. This also adds some cleaner error handling, which I (Erik) then ported over to x86 and arm. In addition Stefan added the following fixes: - in hash.c was the lvalue handling of global library functions wrong. To fix this I had to change the prototype of _dl_find_hash. (==> TIS and ELF spec. Vers. 1.2) - in ldso.c was the order of the .init sections calls wrong. Before we call the initialization code of a library we have to check that all dependend libraries are already initialized. This can easily made by calling it in the revers loading order. For this I added a previous pointer chain. - in ldso.c the ELF magics wasn't checked fo PPC, MIPS and SH architecture
2002-08-08Make some strings constEric Andersen
-Erik
2002-05-02Patch from Steven J. Hill <sjhill@realitydiluted.com>:Eric Andersen
I am very pleased to announce that the MIPS dynamic linker/loader for uClibc is now working. It works on big and little endian platforms. A few minor changes were needed to avoid breaking ldd, and since this makes some non-trivial changes, I have tested on x86, arm, and powerpc to be sure thoese arches didn't get broken. Excellent work Steven!
2002-04-10Teach powerpc to whine loudly about using -fPIC when a R_PPC_REL24Eric Andersen
is encountered... -Erik
2002-04-09Removed handling for R_PPC_REL24, since it is deceptively useless.David Schleef
2002-04-03Remove unused variableEric Andersen
-Erik
2002-03-08Seperate out the symbol resolution debugging, so it doesn't clutterEric Andersen
things up when we don't care about symbol resolution problems. Make the lib loader always look first in the directory where the shared lib loader was found. -Erik
2002-02-17Fix defines so debugging works as expectedEric Andersen
2002-01-25Fix up all non-x86 arches to cope with the latest ldso updateEric Andersen
-Erik
2002-01-11Rework naming for shared lib loader to avoid potentialEric Andersen
nameing conflicts with std header files. -Erik
2001-11-26Fix buggy R_PPC_RELATIVE relocation. Symptom was that stringsDavid Schleef
internal to a library were not relocated correctly, specifically sys_errlist[].
2001-11-26Fix calculation of PLT entry index. Caused segfaults on second callDavid Schleef
of a lib function.
2001-11-12powerpc/elfinterp.c: Powerpc works now. Major rework; most relocsDavid Schleef
should work now. R_PPC_JMP_SLOT correctly being lazily relocated. hash.h: Added a field in elf_resolve to store a ppc-specific address. boot1.c: Added debugging code. Disabled check that fails on powerpc because the string literal requires a reloc that isn't performed. Added check to ignore d_tag if it is out of bounds, as has been observed with powerpc binaries.
2001-08-11Begin removing some unnecessary inlining, and fix namingEric Andersen
of _dl_fprintf which should really be _dl_dprintf -Erik
2001-07-13This takes about 6k off the size of the x86 shared lib loader...Eric Andersen
-Erik
2001-07-12Added #ifdef DEBUG where appropriate.David Schleef
Fixed icache clearing during _dl_init_got(). Added a few more reloc types. Added out-of-range check for R_PPC_REL24.
2001-07-12First cut of PowerPC port. It works for hello world, but has lotsDavid Schleef
of debugging information is still there.