161db27905
Embedding the .plt section in another revealed a bug in the way the larl operand of the first magic plt entry is being calculated. Fixed with the attached patch. bfd/ChangeLog: * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt section offset when calculation the larl operand in the first PLT entry. ld/ChangeLog: * testsuite/ld-s390/pltoffset-1.dd: New test. * testsuite/ld-s390/pltoffset-1.ld: New test. * testsuite/ld-s390/pltoffset-1.s: New test. * testsuite/ld-s390/s390.exp: Run new test.
9 lines
238 B
Plaintext
9 lines
238 B
Plaintext
tmpdir/pltoffset-1: file format elf64-s390
|
|
|
|
Disassembly of section .text:
|
|
|
|
.* <.text>:
|
|
.*: 00 00 00 00 [ ]*.long 0x00000000
|
|
.*: e3 10 f0 38 00 24 [ ]*stg %r1,56\(%r15\)
|
|
.*: c0 10 00 00 00 27 [ ]*larl %r1,58 <_GLOBAL_OFFSET_TABLE_>
|