http://sourceware.org/bugzilla/show_bug.cgi?id=13812

Senthil Kumar Selvaraj <senthil.thecoder at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |senthil.thecoder at gmail
                   |                            |dot com

--- Comment #4 from Senthil Kumar Selvaraj <senthil.thecoder at gmail dot com> 
2013-03-12 17:53:02 UTC ---
Actually, the linker relaxation code already considers cases where deletion of
the ret in call/ret or jmp/ret might be unsafe - just that it missed this
specific case.

The case being that GCC puts the array containing the addresses of the labels
in a separate section (.rodata). The safe ret deletion logic assumes that only
relocations in the local section (containing the ret) could potentially have
symbols whose values evaluate to the address containing the ret, but that is
not true in this case.

Looping over all sections in the BFD, and repeating the check for each section
fixes the problem (see attached patch).

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to