bug-binutils
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]