Age | Commit message (Collapse) | Author |
|
some other minor warnings.
|
|
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
|
|
|
|
Move all configuration options into the new config system.
-Erik
|
|
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
|
|
-Erik
|
|
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!
|
|
is encountered...
-Erik
|
|
|
|
-Erik
|
|
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
|
|
|
|
-Erik
|
|
nameing conflicts with std header files.
-Erik
|
|
internal to a library were not relocated correctly, specifically
sys_errlist[].
|
|
of a lib function.
|
|
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.
|
|
of _dl_fprintf which should really be _dl_dprintf
-Erik
|
|
-Erik
|
|
Fixed icache clearing during _dl_init_got().
Added a few more reloc types.
Added out-of-range check for R_PPC_REL24.
|
|
of debugging information is still there.
|