https://sourceware.org/bugzilla/show_bug.cgi?id=19623

winter-...@bfw-online.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|regression: missing         |regression: erroneous
                   |relocation for symbols in   |relocation for symbols in
                   |discarded section           |absolute section (vma == 0)

--- Comment #5 from winter-...@bfw-online.de ---
I checked the offsets of the symbols in the original file and the output files
(in broken and fine versions) and found that the problem is probably the
inverse of what I suspected, I know assume that this problem is not a missing
relocation but a relocation that happens even though it should not. The
original file has relative jumps to the target destination which should stay
exactly the same when the sections are not to be reordered. The machine code
ought to stay exactly the same in the resulting binary.
The old version of ld skipped relocation for the symbols at hand so there was
no relocation and everything was untouched and fine.
The new version of ld does compute relocation and changes the jump targets.
Unfortunately the computed relocated addresses differ from the original ones
which is wrong.
Reading this web site [1] it seems symbols in absolute section should not be
relocated, yet it happens (wrongfully) in our scenario.

[1] ftp://ftp.gnu.org/old-gnu/Manuals/gas/html_chapter/as_4.html

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