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]

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


Sorry, I forgot the patch.  Here it is.

-Doug

2010/2/23 Doug Kwan (Ãö®¶¼w) <dougkwan@google.com>:
> 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.".
>

Attachment: patch-static-tls.txt
Description: Text document


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