mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
s390x: Set .got sh_entsize only if .got size > 0
bfd/ PR ld/26918 * elf64-s390.c (elf_s390_finish_dynamic_sections): Set .got sh_entsize only if .got size > 0. ld: PR ld/26918 * testsuite/ld-s390/pr26918-1.d: New file. * testsuite/ld-s390/pr26918-1.s: Likewise. * testsuite/ld-s390/s390.exp: Run all *.d tests.
This commit is contained in:
parent
e1b9725dfa
commit
cbf097d7b0
@ -1,3 +1,9 @@
|
||||
2020-11-23 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/26918
|
||||
* elf64-s390.c (elf_s390_finish_dynamic_sections): Set .got
|
||||
sh_entsize only if .got size > 0.
|
||||
|
||||
2020-11-21 Nelson Chu <nelson.chu@sifive.com>
|
||||
|
||||
* elfnn-riscv.c (_bfd_riscv_relax_section): Add a new relax pass
|
||||
|
@ -3547,7 +3547,7 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
|
||||
bfd_put_64 (output_bfd, (bfd_vma) 0,
|
||||
htab->elf.hgot->root.u.def.section->contents + 16);
|
||||
}
|
||||
if (elf_section_data (htab->elf.splt->output_section) != NULL)
|
||||
if (htab->elf.sgot != NULL && htab->elf.sgot->size > 0)
|
||||
elf_section_data (htab->elf.sgot->output_section)
|
||||
->this_hdr.sh_entsize = 8;
|
||||
}
|
||||
|
@ -1,3 +1,10 @@
|
||||
2020-11-23 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR ld/26918
|
||||
* testsuite/ld-s390/pr26918-1.d: New file.
|
||||
* testsuite/ld-s390/pr26918-1.s: Likewise.
|
||||
* testsuite/ld-s390/s390.exp: Run all *.d tests.
|
||||
|
||||
2020-11-23 Shahab Vahedi <shahab@synopsys.org>
|
||||
|
||||
* testsuite/ld-arc/tls_ie-01.d: Use a more general pattern.
|
||||
|
5
ld/testsuite/ld-s390/pr26918-1.d
Normal file
5
ld/testsuite/ld-s390/pr26918-1.d
Normal file
@ -0,0 +1,5 @@
|
||||
#as: -m64 -mzarch -march=z900
|
||||
#ld: -m elf64_s390 -e start -static
|
||||
#readelf: -r --wide
|
||||
|
||||
There are no relocations in this file.
|
19
ld/testsuite/ld-s390/pr26918-1.s
Normal file
19
ld/testsuite/ld-s390/pr26918-1.s
Normal file
@ -0,0 +1,19 @@
|
||||
.machinemode zarch
|
||||
.machine "z900"
|
||||
.text
|
||||
.align 8
|
||||
.globl start
|
||||
.type start, @function
|
||||
start:
|
||||
larl %r1,foo@GOTENT
|
||||
lg %r1,0(%r1)
|
||||
lgf %r2,0(%r1)
|
||||
br %r14
|
||||
.size start, .-start
|
||||
.globl foo
|
||||
.bss
|
||||
.align 4
|
||||
.type foo, @object
|
||||
.size foo, 4
|
||||
foo:
|
||||
.zero 4
|
@ -95,3 +95,10 @@ if [istarget "s390x-*-*"] {
|
||||
run_ld_link_tests $s390tests
|
||||
run_ld_link_tests $s390xtests
|
||||
}
|
||||
|
||||
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
|
||||
foreach t $test_list {
|
||||
# We need to strip the ".d", but can leave the dirname.
|
||||
verbose [file rootname $t]
|
||||
run_dump_test [file rootname $t]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user