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] Record information about relocations for page crossing branches.


Hi,
      This patches add a class Cortex_a8_reloc to record relocations
for page crossing 32-bit THUMB branches (i.e branches at address
0x*****ffe.).  We need to keep this information to determine if the
branches need the Cortex-A8 workaround.  Some of the code is
controlled by a flag Target_arm::fix_cortex_a8_, which is initialized
to be false.   The code to enable that flag will come in another patch
later.

-Doug

2010-01-12  Doug Kwan  <dougkwan@google.com>

        * arm.cc (Cortex_a8_reloc): New class.
        (Target_arm::Target_arm): Initialize new data members fix_cortex_a8_
        and cortex_a8_relocs_info_.
        (Target_arm::fix_cortex_a8): New method definition.
        (Target_arm::Cortex_a8_relocs_info): New type.
        (Target_arm::fix_cortex_a8_, Target_arm::cortex_a8_relocs_info_):
        New data member declarations.
        (Target_arm::scan_reloc_for_stub): Record information about
        relocations for THUMB branches that might be exempted from the
        Cortex-A8 workaround.
        (Target_arm::do_relax): Clear all Cortex-A8 relocation information
        at the beginning of a relaxation pass.

Attachment: patch.txt
Description: Text document


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