A relocation problem in shared objects for SH
kaz Kojima
kkojima@rr.iij4u.or.jp
Sat Sep 16 18:19:00 GMT 2000
Alexandre Oliva <aoliva@redhat.com> wrote:
>>> So I think that our ugly patch for elf32-sh.c (or something else) is
>>> still needed.
>
>> Yep. I'll keep looking for something else for a while :-)
>
> Here's the ``something else'' I've come up with. It fixes the
> relocatable link, so that it doesn't generate relocations with both
> an in-place value and an addend. I've tried to relocate a lot of PIC
> and non-PIC object files, and it always did The Right Thing (TM), so I
> guess this is the way to go. Ok to install?
I've just tested this in libc and it works. Thank you for The Right
Thing (TM)!
BTW, readelf displays the garbage value for the addend of the generated
R_SH_RELATIVE relocation. We should clear such addend field, shouldn't
we?
--- /cvs/src/bfd/elf32-sh.c Sun Sep 17 08:40:07 2000
+++ elf32-sh.c Sun Sep 17 09:50:54 2000
@@ -3124,7 +3124,7 @@ sh_elf_relocate_section (output_bfd, inf
{
relocate = true;
outrel.r_info = ELF32_R_INFO (0, R_SH_RELATIVE);
- outrel.r_addend = relocation + rel->r_addend;
+ outrel.r_addend = 0;
}
else
{
kaz
More information about the Binutils
mailing list