[gold commit] Allow multiple .eh_frame sections per object file

Cary Coutant ccoutant@gmail.com
Wed Nov 29 02:11:00 GMT 2017


LLVM is experimenting with placing .eh_frame sections in the COMDAT group
with the function's text. This triggers an internal error in gold because
we don't expect to see but one .eh_frame section in an object, and we use
a single data member in class Sized_relobj_file to keep track of that section.

This patch removes that data member, and instead checks the output section
and the input section offset to identify an optimized .eh_frame section.

-cary

2017-11-28  Cary Coutant  <ccoutant@gmail.com>

gold/
        * object.h (class Sized_relobj_file): Remove discarded_eh_frame_shndx_.
        * object.cc (Sized_relobj_file::Sized_relobj_file): Likewise.
        (Sized_relobj_file::layout_eh_frame_section): Likewise.
        (Sized_relobj_file::do_count_local_symbols): Check for optimized
        .eh_frame section by other means.
        (Sized_relobj_file::compute_final_local_value_internal): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ehframe-multi.patch
Type: application/octet-stream
Size: 3892 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20171129/c4735387/attachment.obj>


More information about the Binutils mailing list