mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
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.
35 lines
472 B
Plaintext
35 lines
472 B
Plaintext
SECTIONS
|
|
{
|
|
.text : {
|
|
. = . + 4;
|
|
*(.plt)
|
|
}
|
|
.test : {
|
|
*(.text)
|
|
*(.got)
|
|
*(.got.plt)
|
|
*(.rodata)
|
|
*(.eh_frame)
|
|
*(.interp)
|
|
*(.data)
|
|
*(.bss)
|
|
}
|
|
|
|
/* For old binutils which otherwise complain about nonrepresentable
|
|
sections. */
|
|
.dynsym : { *(.dynsym) }
|
|
.gnu.version : { *(.gnu.version) }
|
|
|
|
/DISCARD/ : {
|
|
*(.rela.text)
|
|
*(.rela.plt)
|
|
*(.rela.got.plt)
|
|
*(.rela.data)
|
|
*(.rela.rodata)
|
|
*(.rela.bss)
|
|
*(.rela.text)
|
|
*(.comment*)
|
|
*(.note*)
|
|
}
|
|
}
|