This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][GOLD] Fix a number of miscellaneous issues.


Hi

    This patch does the following:

    1. Reference to the global symbol _GLOBAL_OFFSET_TABLE_ is treated
as a GOT access to avoid generating unsupported dynamic relocations.
The code was borrow from sparc.cc.
    2. Treat an input section without any mapping symbols as a
data-only section instead of issuing a warning in
Arm_relobj::scan_section_for_cortex_a8_stubs.  This is consistent with
ld.  Please see this thread.

http://sourceware.org/ml/binutils/2010-02/msg00018.html

    3. For EXIDX input section without its link set in the section
header, try to discover the linked text section by looking at the
REL31 relocation pointing at the first word of the first EXIDX entry.
 This takes a little bit of code to do but I think it is better than
what ld does, which is dropping the section silently without even a
warning.  Dropping an EXIDX section like this makes the pointed text
section not unwindable.

-Doug

2010-02-15  Doug Kwan  <dougkwan@google.com>

        * arm.cc (Arm_relobj::find_linked_text_section): New method.
        (Arm_relobj::make_exidx_input_section): Pass section index of linked
        text section as a parameter becuase some broken tools may not set
        the link in section header.
        (Target_arm::has_got_section): New method.
        (Target_arm::scan_section_for_cortex_a8_stubs): Treat an input section
        without any mapping symbol as data only.  Remove warning.
        (Arm_relobj::do_read_synbols): If an EXIDX input section has no
        link in its section header, try to discover the link by inspecting the
        REL31 relocation at the beginning of the section.
        (Target_arm::Scan::check_non_pic): Report name of offending relocation
        in error message.
        (Target_arm::Scan::global): Treat any reference to the symbol
        _GLOBAL_OFFSET_TABLE_ as a GOT access.

Attachment: patch-misc.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]