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] Refactor THUMB branch encoding code to avoid code duplication.


Hi,
      This patch refactors code for handling THUMB long branch offset
encoding and decoding to avoid code duplication.  It also adds a
missing part of a previous patch for handling THUMB16_SPECIAL_TYPE in
Stub_template::Stub_template.

-Doug

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

        * arm.cc (Arm_relocate_functions::thumb32_branch_offset,
        Arm_relocate_functions::thumb32_branch_upper,
        Arm_relocate_functions::thumb32_branch_lower,
        Arm_relocate_functions::thumb32_cond_branch_offset,
        Arm_relocate_functions::thumb32_cond_branch_upper,
        Arm_relocate_functions::thumb32_cond_branch_lower,
        Arm_relocate_functions::thm_jump19): New methods to handle THUMB
        branch offset encoding.
        (Arm_relocate_functions::thumb_branch_common): Use new branch
        offset encoding methods to avoid code duplication.
        (Stub_template::Stub_template) Handle THUMB16_SPECIAL_TYPE.
        (Stub_addend_reader::operator()): Use new branch encoding method
        to avoid code duplication.

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]