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]

[GOLD][PATCH] Handle initial TLS relocations in static linking.


Hi,

     This bug adds code to handle initial TLS relocations in static
linking.  It also fixes the relocation operations of TLS relocations
incorrectly implemented.  It also fixed two other problems.  The
trailing dots from section name prefixes ".ARM.exidx." and
".ARM.extab." are removed by this for ARM ELF specifications
conformance.   We also skip special gc processing for EXIDX section if
--gc-sections is not used.  The hook is shared by both GC and ICF.
Using only --icf but not --gc-sections caused gold crashing.   This
patch was tested by running the gold test suite on an ARM system.
Only one test failed and it was not a new failure.

-Doug

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

        * arm.cc (Arm_output_data_got): New class.
        (ARM_TCB_SIZE): New constant
        (Target_arm): Use Arm_output_data_got instead of Output_data_got.
        (Arm_output_section::fix_exidx_coverage): Add a parameter for layout.
        If user uses a script with a SECTIONS clause, issue only a warning
        for a misplaced EXIDX input section.  Otherwise, issue an error.
        (Arm_relobj::do_gc_process_relocs): Exit early if we are not doing
        garbage collection.
        (Target_arm::got_mode_index_entry): Handle static linking.
        (Target_arm::Scan::local): Ditto.
        (Target_arm::Scan::global): Ditto.
        (Target_arm::Relocate::relocate_tls): Handle static linking.  Fix
        all incorrectly implemented relocations.
        (Target_arm::fix_exidx_coverage): Pass layout to
        Arm_output_section::fix_exidx_coverage.
        * layout.cc (Layout::section_name_mapping): Remove trailing dots
        from ".ARM.exidx." and ".ARM.extab.".


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