[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/28021] riscv: wrong double relaxation with LTO
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/28021] riscv: wrong double relaxation with LTO |
Date: |
Wed, 07 Jul 2021 16:06:05 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=28021
--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The binutils-2_37-branch branch has been updated by Michael Matz
<matz@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7764dd1f5fdc9a4d6d6233b35bbb14ab161df299
commit 7764dd1f5fdc9a4d6d6233b35bbb14ab161df299
Author: Michael Matz <matz@suse.de>
Date: Mon Jun 28 17:57:17 2021 +0200
elf/riscv: Fix relaxation with aliases [PR28021]
the fix for PR22756 only changed behaviour for hidden aliases,
but the same situation exists for non-hidden aliases: sym_hashes[]
can contain multiple entries pointing to the same symbol structure
leading to relaxation adjustment to be applied twice.
Fix this by testing for duplicates for everything that looks like it
has a version.
PR ld/28021
bfd/
* elfnn-riscv.c (riscv_relax_delete_bytes): Check for any
versioning.
ld/
* testsuite/ld-riscv-elf/relax-twice.ver: New.
* testsuite/ld-riscv-elf/relax-twice-1.s: New.
* testsuite/ld-riscv-elf/relax-twice-2.s: New.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp
(run_relax_twice_test): New, and call it.
(cherry picked from commit 235f5ef4a6b8fbdcfaea8b629f7c6a9792a789de)
--
You are receiving this mail because:
You are on the CC list for the bug.