This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [Patch][Gold] BE8 for ARM
- From: Cary Coutant <ccoutant at gmail dot com>
- To: Umesh Kalappa <umesh dot kalappa0 at gmail dot com>
- Cc: "Bharathi Seshadri (bseshadr)" <bseshadr at cisco dot com>, "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Wed, 20 Sep 2017 15:30:10 -0700
- Subject: Re: [Patch][Gold] BE8 for ARM
- Authentication-results: sourceware.org; auth=none
- References: <CAGfacvTYf79ZKajiO=ks_V19EsNn5QAxfUPqKBubjcFvpHT5Ow@mail.gmail.com>
>> Arm/thumb stubs support was missed in the be8 mode with the previous
>> patch, hence adding the same with the unit cases.
>>
>> No Regress on gold test-suites.
+ if (enable_be8)
+ elfcpp::Swap<16, false>::writeval(pov, insns[i].data() & 0xffff);
+ else
+ elfcpp::Swap<16, big_endian>::writeval(pov, insns[i].data() & 0xffff);
These lines are not indented correctly.
+ if (enable_be8)
+ elfcpp::Swap<16, false>::writeval(
+ pov,this->thumb16_special(i));
+ else
+ elfcpp::Swap<16, big_endian>::writeval(
+ pov,this->thumb16_special(i));
Same here.
+ if (enable_be8) {
+ elfcpp::Swap<16, false>::writeval(pov, hi);
+ elfcpp::Swap<16, false>::writeval(pov + 2, lo);
+ }
+ else {
+ elfcpp::Swap<16, big_endian>::writeval(pov, hi);
+ elfcpp::Swap<16, big_endian>::writeval(pov + 2, lo);
+ }
}
break;
case Insn_template::ARM_TYPE:
+ if (enable_be8)
+ elfcpp::Swap<32, false>::writeval(pov, insns[i].data());
+ else
+ elfcpp::Swap<32, big_endian>::writeval(pov, insns[i].data());
+ break;
And here.
I think this comment from Stub::do_fixed_endian_write() can be removed:
// FIXME: We do not handle BE8 encoding yet.
diff --git a/gold/testsuite/arm_farcall_arm_arm_be8.sh
b/gold/testsuite/arm_farcall_arm_arm_be8.sh
new file mode 100644
index 0000000..e21a16d
--- /dev/null
+++ b/gold/testsuite/arm_farcall_arm_arm_be8.sh
The new shell script files should be executable. Please make sure
they're marked that way in your git repo.
-cary