[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/32591] undue GOTPCREL relaxation attempts
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/32591] undue GOTPCREL relaxation attempts |
Date: |
Thu, 06 Feb 2025 22:05:08 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=32591
--- Comment #18 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <hjl@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=73ab3b9825d232f0f3a4ad811e88697f9b9ab162
commit 73ab3b9825d232f0f3a4ad811e88697f9b9ab162
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Jan 30 08:48:45 2025 +0800
x86-64: Estimate output section layout before sizing dynamic sections
When sizing dynamic sections, elf_x86_64_scan_relocs converts GOTPCREL
relocations to R_X86_64_PC32, R_X86_64_32S or R_X86_64_32 for local
symbols. But at that time, since the output section layout is unknown,
the local symbol values can't be determined. Later linker issues an
error if the converted relocation overflows when resolving relocations
against these local symbols. Update the x86-64 ELF linker to estimate
output section layout before sizing dynamic sections and use the
preliminary output section layout info to skip the GOTPCREL relocation
conversion if the converted relocation overflows.
bfd/
PR ld/32591
* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Add an input
section argument. Use the lowest-addressed section to estimate
the __ehdr_start symbol value. Don't convert relocation if the
converted relocation will overflow.
ld/
PR ld/32591
* emultempl/elf-x86.em (elf_x86_64_before_allocation):
New. Defined for x86-64.
(LDEMUL_BEFORE_ALLOCATION): Likewise.
* testsuite/ld-x86-64/pr19609-2a.d: Don't fail.
* testsuite/ld-x86-64/pr19609-2b.d: Likewise.
* testsuite/ld-x86-64/pr19609-4a.d: Likewise.
* testsuite/ld-x86-64/pr19609-5d.d: Likewise.
* testsuite/ld-x86-64/pr19609-7a.d: Likewise.
* testsuite/ld-x86-64/pr19609-7c.d: Likewise.
* testsuite/ld-x86-64/pr32591-1.s: New file.
* testsuite/ld-x86-64/pr32591-1a-x32.d: Likewise.
* testsuite/ld-x86-64/pr32591-1a.d: Likewise.
* testsuite/ld-x86-64/pr32591-1a.t: Likewise.
* testsuite/ld-x86-64/pr32591-1b-x32.d: Likewise.
* testsuite/ld-x86-64/pr32591-1b.d: Likewise.
* testsuite/ld-x86-64/pr32591-1b.t: Likewise.
* testsuite/ld-x86-64/pr32591-1c-x32.d: Likewise.
* testsuite/ld-x86-64/pr32591-1c.d: Likewise.
* testsuite/ld-x86-64/pr32591-1c.t: Likewise.
* testsuite/ld-x86-64/pr32591-1d-x32.d: Likewise.
* testsuite/ld-x86-64/pr32591-1d.d: Likewise.
* testsuite/ld-x86-64/pr32591-1d.t: Likewise.
* testsuite/ld-x86-64/pr32591-2.s: Likewise.
* testsuite/ld-x86-64/pr32591-2-x32.d: Likewise.
* testsuite/ld-x86-64/pr32591-2.d: Likewise.
* testsuite/ld-x86-64/pr32591-2.t: Likewise.
* testsuite/ld-x86-64/pr32591-3.s: Likewise.
* testsuite/ld-x86-64/pr32591-3-x32.d: Likewise.
* testsuite/ld-x86-64/pr32591-3.d: Likewise.
* testsuite/ld-x86-64/pr32591-3.t: Likewise.
* testsuite/ld-x86-64/pr32591-4.s: Likewise.
* testsuite/ld-x86-64/pr32591-4-x32.d: Likewise.
* testsuite/ld-x86-64/pr32591-4.d: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/32591 tests.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/32591] undue GOTPCREL relaxation attempts, hjl.tools at gmail dot com, 2025/02/01
- [Bug ld/32591] undue GOTPCREL relaxation attempts, jbeulich at suse dot com, 2025/02/03
- [Bug ld/32591] undue GOTPCREL relaxation attempts, hjl.tools at gmail dot com, 2025/02/03
- [Bug ld/32591] undue GOTPCREL relaxation attempts, jbeulich at suse dot com, 2025/02/04
- [Bug ld/32591] undue GOTPCREL relaxation attempts, hjl.tools at gmail dot com, 2025/02/04
- [Bug ld/32591] undue GOTPCREL relaxation attempts,
cvs-commit at gcc dot gnu.org <=
- [Bug ld/32591] undue GOTPCREL relaxation attempts, sam at gentoo dot org, 2025/02/13
- [Bug ld/32591] undue GOTPCREL relaxation attempts, sam at gentoo dot org, 2025/02/13