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

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at gmail dot com

--- Comment #1 from Alan Modra <amodra at gmail dot com> ---
No, that's not the correct patch.  For ld -r we do need to add in the symbol
value, which is set to the offset of the input section in the output section
here in object.cc:compute_final_local_value_internal

        lv_out->set_output_value((relocatable ? 0 : os->address())
                                 + secoffset
                                 + lv_in->input_value());

Notice that the value set is different for final linking (!relocatable).  For
final linking with --emit-relocs the code that you patched out should subtract
out that os->address() component.

This same bug exists in the generic target-reloc.h code.

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