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: [PATCH][gold] Handle ARM-specific --target1-abs, --target1-rel and --target2 options.


Doug,

What happened to that old patch (this dates to November 2009)? Ian
approved it, but you apparently never committed it. Why not?

Are you OK with the patch here?

-cary


On Thu, Jun 30, 2016 at 10:17 AM, Igor Kudrin <ikudrin@accesssoftek.com> wrote:
> Hi,
>
> This patch implements --target1-abs, --target2-rel and --target2
> options, which are used to set desired relocation types for
> R_ARM_TARGET1 and R_ARM_TARGET2. Pre-existing defaults, which were
> R_ARM_ABS32 for R_ARM_TARGET1 and R_ARM_GOT_PREL for R_ARM_TARGET2,
> are preserved, so the linker's behavior is not changed if these
> options are not used.
>
> This patch is based on the old patch by Doug Kwan, see
> https://sourceware.org/ml/binutils/2009-11/msg00281.html.
> The tests are based on the corresponding tests from ld.
>
> Best regards,
> Igor Kudrin
>
> ---
> gold/ChangeLog
>
>         * arm.cc (Target_arm::Target_arm): Handle --target1-rel,
>         --target1-abs and --target2= options.
>         (Target_arm::get_reloc_reloc_type): Remove static, add const.
>         (Target_arm::target1_reloc_, Target_arm::target2_reloc_): New
>         data members.
>         (Target_arm::Scan::local): Adjust call to get_real_reloc_type.
>         (Target_arm::Scan::global): Likewise.
>         (Target_arm::Relocate::relocate): Likewise.
>         (Target_arm::Classify_reloc::get_size_for_reloc): Likewise.
>         (Target_arm::get_real_reloc_type): Use the new data members
>         to return real types of R_ARM_TARGET1 and R_ARM_TARGET2.
>         * options.h (--target1-rel, --target1-abs, --target2): New ARM-only
>         options.
>         * testsuite/Makefile.am (arm_target1_abs, arm_target1_rel,
>         (arm_target2_abs, arm_target2_got_rel, arm_target2_rel): New tests.
>         * testsuite/Makefile.in: Regenerate.
>         * testsuite/arm_target1.s: New test source file.
>         * testsuite/arm_target2.s: Likewise.
>         * testsuite/arm_target1_abs.sh: New test script.
>         * testsuite/arm_target1_rel.sh: Likewise.
>         * testsuite/arm_target2_abs.sh: Likewise.
>         * testsuite/arm_target2_got_rel.sh: Likewise.
>         * testsuite/arm_target2_rel.sh: Likewise.


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