summaryrefslogtreecommitdiffstats
path: root/patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch')
-rw-r--r--patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch137
1 files changed, 137 insertions, 0 deletions
diff --git a/patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch b/patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch
new file mode 100644
index 0000000..a453e35
--- /dev/null
+++ b/patches/gcc-4.7.2/0400-add-support-for-arm-linux-eabi-triplets-useful-for-a.patch
@@ -0,0 +1,137 @@
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Mon, 3 Dec 2012 13:49:03 +0100
+Subject: [PATCH] add support for arm-linux-*eabi* triplets; useful for armhf
+
+This is needed to build with e.g. --target=arm-cortexa8-linux-gnueabihf
+Taken from Debian.
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ gcc/ada/gcc-interface/Makefile.in | 2 +-
+ gcc/config.gcc | 4 ++--
+ gcc/testsuite/lib/target-supports.exp | 4 ++--
+ libgcc/config.host | 2 +-
+ libjava/configure.ac | 2 +-
+ libstdc++-v3/configure.host | 2 +-
+ .../testsuite/20_util/make_signed/requirements/typedefs-2.cc | 2 +-
+ .../testsuite/20_util/make_unsigned/requirements/typedefs-2.cc | 2 +-
+ 8 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
+index f9e7eda..a8ee610 100644
+--- a/gcc/ada/gcc-interface/Makefile.in
++++ b/gcc/ada/gcc-interface/Makefile.in
+@@ -1867,7 +1867,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
+ LIBRARY_VERSION := $(LIB_VERSION)
+ endif
+
+-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
++ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<a-intnam-linux.ads \
+ s-inmaop.adb<s-inmaop-posix.adb \
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 5fcd192..fbacc3d 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -850,7 +850,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF
+ esac
+ tmake_file="${tmake_file} arm/t-arm"
+ case ${target} in
+- arm*-*-linux-*eabi)
++ arm*-*-linux-*eabi*)
+ tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
+ tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
+ # Define multilib configuration for arm-linux-androideabi.
+@@ -877,7 +877,7 @@ arm*-*-uclinux*) # ARM ucLinux
+ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
+ tmake_file="arm/t-arm arm/t-arm-elf"
+ case ${target} in
+- arm*-*-uclinux*eabi)
++ arm*-*-uclinux*eabi*)
+ tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
+ tmake_file="$tmake_file arm/t-bpabi"
+ # The BPABI long long divmod functions return a 128-bit value in
+diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
+index 63dc0be..fcbdb62 100644
+--- a/gcc/testsuite/lib/target-supports.exp
++++ b/gcc/testsuite/lib/target-supports.exp
+@@ -3860,7 +3860,7 @@ proc check_effective_target_sync_int_long { } {
+ || [istarget i?86-*-*]
+ || [istarget x86_64-*-*]
+ || [istarget alpha*-*-*]
+- || [istarget arm*-*-linux-gnueabi]
++ || [istarget arm*-*-linux-*eabi*]
+ || [istarget bfin*-*linux*]
+ || [istarget hppa*-*linux*]
+ || [istarget s390*-*-*]
+@@ -3890,7 +3890,7 @@ proc check_effective_target_sync_char_short { } {
+ || [istarget i?86-*-*]
+ || [istarget x86_64-*-*]
+ || [istarget alpha*-*-*]
+- || [istarget arm*-*-linux-gnueabi]
++ || [istarget arm*-*-linux-*eabi*]
+ || [istarget hppa*-*linux*]
+ || [istarget s390*-*-*]
+ || [istarget powerpc*-*-*]
+diff --git a/libgcc/config.host b/libgcc/config.host
+index ef9791b..e9da271 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -327,7 +327,7 @@ arm*-*-netbsdelf*)
+ arm*-*-linux*) # ARM GNU/Linux with ELF
+ tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
+ case ${host} in
+- arm*-*-linux-*eabi)
++ arm*-*-linux-*eabi*)
+ tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
+ tm_file="$tm_file arm/bpabi-lib.h"
+ unwind_header=config/arm/unwind-arm.h
+diff --git a/libjava/configure.ac b/libjava/configure.ac
+index 8a25a42..0c71b48 100644
+--- a/libjava/configure.ac
++++ b/libjava/configure.ac
+@@ -931,7 +931,7 @@ case "${host}" in
+ # on Darwin -single_module speeds up loading of the dynamic libraries.
+ extra_ldflags_libjava=-Wl,-single_module
+ ;;
+-arm*linux*eabi)
++arm*-*-linux-*eabi*)
+ # Some of the ARM unwinder code is actually in libstdc++. We
+ # could in principle replicate it in libgcj, but it's better to
+ # have a dependency on libstdc++.
+diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
+index ca4d819..b0e2cd9 100644
+--- a/libstdc++-v3/configure.host
++++ b/libstdc++-v3/configure.host
+@@ -340,7 +340,7 @@ case "${host}" in
+ fi
+ esac
+ case "${host}" in
+- arm*-*-linux-*eabi)
++ arm*-*-linux-*eabi*)
+ port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
+ ;;
+ esac
+diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
+index adf3af4..9c43171 100644
+--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
++++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc
+@@ -1,5 +1,5 @@
+ // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
+-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
++// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux-*eabi* } }
+
+ // 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
+ //
+diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
+index a1465d3..5a81789 100644
+--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
++++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc
+@@ -1,5 +1,5 @@
+ // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" }
+-// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } }
++// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux-*eabi* } }
+
+ // 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
+ //