ARM: Add support for armeb-*-eabi*

Message ID 1407146220-5608-1-git-send-email-will.newton@linaro.org
State Accepted
Headers show

Commit Message

Will Newton Aug. 4, 2014, 9:57 a.m.
At the moment it is possible to configure binutils for these triples
but the resulting linker defaults to little endian with huge numbers
of testsuite failures, which on the face of it does not appear to make
much sense.

This patch makes the behaviour similar to armeb-elf and the testsuite
is clean.

bfd/ChangeLog:

2014-08-04  Will Newton  <will.newton@linaro.org>

	* config.bfd: Default armeb-*-eabi* to big endian.

ld/ChangeLog:

2014-08-04  Will Newton  <will.newton@linaro.org>

	* configure.tgt: Default armeb-*-eabi* to big endian.
---
 bfd/config.bfd   | 2 +-
 ld/configure.tgt | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

Comments

Will Newton Aug. 11, 2014, 11:38 a.m. | #1
On 4 August 2014 10:57, Will Newton <will.newton@linaro.org> wrote:
> At the moment it is possible to configure binutils for these triples
> but the resulting linker defaults to little endian with huge numbers
> of testsuite failures, which on the face of it does not appear to make
> much sense.
>
> This patch makes the behaviour similar to armeb-elf and the testsuite
> is clean.
>
> bfd/ChangeLog:
>
> 2014-08-04  Will Newton  <will.newton@linaro.org>
>
>         * config.bfd: Default armeb-*-eabi* to big endian.
>
> ld/ChangeLog:
>
> 2014-08-04  Will Newton  <will.newton@linaro.org>
>
>         * configure.tgt: Default armeb-*-eabi* to big endian.
> ---
>  bfd/config.bfd   | 2 +-
>  ld/configure.tgt | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)

Ping?

> diff --git a/bfd/config.bfd b/bfd/config.bfd
> index 1950ca0..3272076 100644
> --- a/bfd/config.bfd
> +++ b/bfd/config.bfd
> @@ -328,7 +328,7 @@ case "${targ}" in
>      targ_defvec=arm_elf32_le_vec
>      targ_selvecs=arm_elf32_be_vec
>      ;;
> -  armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-*)
> +  armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*)
>      targ_defvec=arm_elf32_be_vec
>      targ_selvecs=arm_elf32_le_vec
>      ;;
> diff --git a/ld/configure.tgt b/ld/configure.tgt
> index 33fb378..fc99a54 100644
> --- a/ld/configure.tgt
> +++ b/ld/configure.tgt
> @@ -95,7 +95,8 @@ arm-*-netbsd*)                targ_emul=armnbsd;
>  arm-*-nto*)            targ_emul=armnto ;;
>  arm-*-openbsd*)                targ_emul=armnbsd ;;
>  arm-*-rtems*)          targ_emul=armelf ;;
> -armeb-*-elf)           targ_emul=armelfb ;;
> +armeb-*-elf | armeb-*-eabi*)
> +                       targ_emul=armelfb ;;
>  arm-*-elf | arm*-*-eabi*)
>                         targ_emul=armelf ;;
>  arm*-*-symbianelf*)     targ_emul=armsymbian;;
> --
> 1.9.3
>
Thomas Preud'homme Aug. 14, 2014, 7:54 a.m. | #2
> From: Will Newton [mailto:will.newton@linaro.org]
> Sent: Monday, August 04, 2014 5:57 PM
> 
> At the moment it is possible to configure binutils for these triples
> but the resulting linker defaults to little endian with huge numbers
> of testsuite failures, which on the face of it does not appear to make
> much sense.
> 
> This patch makes the behaviour similar to armeb-elf and the testsuite
> is clean.

I encountered the same problem when I wanted to test that a fix for a
big endian bug in GCC didn't introduce new regression. The patch allowed
me to move forward and I didn't encountered any problem with it.

Best regards,

Thomas
Nick Clifton Aug. 20, 2014, 3:51 p.m. | #3
Hi Will,

>> bfd/ChangeLog:
>>
>> 2014-08-04  Will Newton  <will.newton@linaro.org>
>>
>>          * config.bfd: Default armeb-*-eabi* to big endian.
>>
>> ld/ChangeLog:
>>
>> 2014-08-04  Will Newton  <will.newton@linaro.org>
>>
>>          * configure.tgt: Default armeb-*-eabi* to big endian.

Approved - please apply.

Cheers
   Nick

Patch

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 1950ca0..3272076 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -328,7 +328,7 @@  case "${targ}" in
     targ_defvec=arm_elf32_le_vec
     targ_selvecs=arm_elf32_be_vec
     ;;
-  armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-*)
+  armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*)
     targ_defvec=arm_elf32_be_vec
     targ_selvecs=arm_elf32_le_vec
     ;;
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 33fb378..fc99a54 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -95,7 +95,8 @@  arm-*-netbsd*)		targ_emul=armnbsd;
 arm-*-nto*)		targ_emul=armnto ;;
 arm-*-openbsd*)		targ_emul=armnbsd ;;
 arm-*-rtems*)		targ_emul=armelf ;;
-armeb-*-elf)		targ_emul=armelfb ;;
+armeb-*-elf | armeb-*-eabi*)
+			targ_emul=armelfb ;;
 arm-*-elf | arm*-*-eabi*)
 	  		targ_emul=armelf ;;
 arm*-*-symbianelf*)     targ_emul=armsymbian;;