This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Is DT_TEXTREL supposed to be supported on s390 31-bit or not?
On Thu, Dec 17, 2009 at 11:18:03AM +0100, Martin Schwidefsky wrote:
> Ok, I've reproduced the problem. The load of a non-pic library compiled
> with -march=z9-109 gives the following error:
>
> error while loading shared libraries: <lib>: unexpected reloc type 0x13
>
> Reloc type 0x13 is indeed R_390_PC32DBL. The 32-bit variant
> of dl-machine.h does not handle this relocation which is used to access
> global variables for -m31 -march=z9-109. The following patches fixes
> the problem for me:
>
> 2009-12-17 Martin Schwidefsky <schwidefsky@de.ibm.com>
>
> * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Handle
> R_390_PC32DBL. Remove unneeded R_390_PLT16DBL.
> * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove
^^^^^^^ s390-64 here.
> unneeded R_390_PLT16DBL and R_390_PLT32DBL.
Looks good to me. From a quick glance at bfd/elf*s390*.c, the R_390_PLT*DBL relocations indeed
can't be present in allocated DSO sections, and R_390_PC32DBL is the only
one unhandled on s390-32.
Jakub