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 problem in V4BX code.


Hi,

     This fixes two problem in the V4BX code.  The first is that NULL
is passed to an integral argument of Target_arm::scan_reloc_for_stub
and that causes a build breakage when gold is build by gcc trunk.  I
rearrange the code a little to make it more efficient.   The second
problem is that General_options::fix_v4bx_ is not initalized.  That
causes V4BX fix-up to be turned on randomly when neither of --fix-v4bx
nor --fix-v4bx-interworking is specified.   I also added regression
tests for the V4BX options.

-Doug

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

        * arm.cc (Target_arm::scan_reloc_for_stub): Move code handling
        R_ARM_V4BX to Target_arm::scan_reloc_section_for_stubs.
        (Target_arm::scan_reloc_section_for_stubs): Instead of calling
        scan_reloc_for_stub, do all processing of R_ARM_V4BX here.
        * options.cc (General_options::General_options): Initialize member
        fix_v4bx_.
        * testsuite/Makefile.am (check_SCRIPTS): Add arm_fix_v4bx.sh
        (check_DATA): Add arm_fix_v4bx.stdout, arm_fix_v4bx_interworking.stdout
        and rm_no_fix_v4bx.stdout
        (arm_fix_v4bx.stdout, arm_fix_v4bx, arm_fix_v4bx.o,
        arm_fix_v4bx_interworking.stdout, arm_fix_v4bx_interworking,
        arm_no_fix_v4bx.stdout, arm_no_fix_v4bx): New make rules.
        (MOSTLYCLEANFILES): Add arm_fix_v4bx, arm_fix_v4bx_interworking
        and arm_no_fix_v4bx.
        * Makefile.in: Regenerate.
        * testsuite/arm_fix_v4bx.s: New file.
        * testsuite/arm_fix_v4bx.sh: Ditto.

Attachment: patch-v4bx.txt
Description: Text document


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