[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/22756] Linker relaxation miscalculates symbol addresses on riscv
From: |
wilson at gcc dot gnu.org |
Subject: |
[Bug ld/22756] Linker relaxation miscalculates symbol addresses on riscv |
Date: |
Tue, 30 Jan 2018 03:29:51 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=22756
Jim Wilson <wilson at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |wilson at gcc dot gnu.org
--- Comment #1 from Jim Wilson <wilson at gcc dot gnu.org> ---
The function size is wrong too.
The function address/size is modified in riscv_relax_delete_bytes in
elfnn-riscv.c. This goes through the symbol table, and looks for any symbol
whose address/size if affected by the deleted bytes, and then adjusts the
symbol address/size by the deleted byte count.
The problem here is that for part of the link, for __wrap_exit, we have two
identical symbols with the same address and size. Hence, when we adjust
symbols, we adjust __wrap_exit twice, causing us to delete too much from both
its address and size.
I don't know why we have two identical symbols yet, I will be looking at that
next.
--
You are receiving this mail because:
You are on the CC list for the bug.