CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
gcc: added plugins support
[ports/core-arm.git] / gcc / gcc-4.7.2-gnueabihf.patch
CommitLineData
399721ad
VM
1diff -pruN gcc-4.7.2.orig/gcc/ada/gcc-interface/Makefile.in gcc-4.7.2/gcc/ada/gcc-interface/Makefile.in
2--- gcc-4.7.2.orig/gcc/ada/gcc-interface/Makefile.in 2012-08-06 14:34:27.000000000 +0000
3+++ gcc-4.7.2/gcc/ada/gcc-interface/Makefile.in 2012-11-06 14:25:52.708613671 +0000
4@@ -1867,7 +1867,7 @@ ifeq ($(strip $(filter-out powerpc% linu
676c65bf
VM
5 LIBRARY_VERSION := $(LIB_VERSION)
6 endif
7
8-ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),)
399721ad 9+ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(arch) $(osys)-$(word 4,$(targ)))),)
676c65bf
VM
10 LIBGNAT_TARGET_PAIRS = \
11 a-intnam.ads<a-intnam-linux.ads \
12 s-inmaop.adb<s-inmaop-posix.adb \
399721ad
VM
13diff -pruN gcc-4.7.2.orig/gcc/config.gcc gcc-4.7.2/gcc/config.gcc
14--- gcc-4.7.2.orig/gcc/config.gcc 2012-09-12 09:03:54.000000000 +0000
15+++ gcc-4.7.2/gcc/config.gcc 2012-11-06 14:28:12.212618421 +0000
16@@ -850,12 +850,12 @@ arm*-*-linux*) # ARM GNU/Linux with EL
676c65bf 17 esac
399721ad 18 tmake_file="${tmake_file} arm/t-arm"
676c65bf
VM
19 case ${target} in
20- arm*-*-linux-*eabi)
21+ arm*-*-linux-*eabi*)
22 tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
399721ad 23 tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
676c65bf
VM
24 # Define multilib configuration for arm-linux-androideabi.
25 case ${target} in
26- *-androideabi)
27+ *-androideabi*)
28 tmake_file="$tmake_file arm/t-linux-androideabi"
29 ;;
30 esac
399721ad 31@@ -877,7 +877,7 @@ arm*-*-uclinux*) # ARM ucLinux
676c65bf
VM
32 tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h glibc-stdint.h"
33 tmake_file="arm/t-arm arm/t-arm-elf"
34 case ${target} in
35- arm*-*-uclinux*eabi)
36+ arm*-*-uclinux*eabi*)
37 tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
676c65bf 38 tmake_file="$tmake_file arm/t-bpabi"
399721ad
VM
39 # The BPABI long long divmod functions return a 128-bit value in
40diff -pruN gcc-4.7.2.orig/gcc/testsuite/lib/target-supports.exp gcc-4.7.2/gcc/testsuite/lib/target-supports.exp
41--- gcc-4.7.2.orig/gcc/testsuite/lib/target-supports.exp 2012-08-10 13:21:31.000000000 +0000
42+++ gcc-4.7.2/gcc/testsuite/lib/target-supports.exp 2012-11-06 14:34:38.076631560 +0000
43@@ -509,7 +509,7 @@ proc check_profiling_available { test_wh
44 # Some targets don't have any implementation of __bb_init_func or are
45 # missing other needed machinery.
46 if { [istarget am3*-*-linux*]
47- || [istarget arm*-*-eabi*]
48+ || [istarget arm*-*-*eabi*]
49 || [istarget arm*-*-elf]
50 || [istarget arm*-*-symbianelf*]
51 || [istarget avr-*-*]
52@@ -528,7 +528,7 @@ proc check_profiling_available { test_wh
53 || [istarget mn10300-*-elf*]
54 || [istarget moxie-*-elf*]
55 || [istarget picochip-*-*]
56- || [istarget powerpc-*-eabi*]
57+ || [istarget powerpc-*-eabi]
58 || [istarget powerpc-*-elf]
59 || [istarget rx-*-*]
60 || [istarget tic6x-*-elf]
61@@ -3860,7 +3860,7 @@ proc check_effective_target_sync_int_lon
676c65bf
VM
62 || [istarget i?86-*-*]
63 || [istarget x86_64-*-*]
64 || [istarget alpha*-*-*]
65- || [istarget arm*-*-linux-gnueabi]
399721ad 66+ || [istarget arm*-*-linux-*eabi*]
676c65bf
VM
67 || [istarget bfin*-*linux*]
68 || [istarget hppa*-*linux*]
69 || [istarget s390*-*-*]
399721ad 70@@ -3890,7 +3890,7 @@ proc check_effective_target_sync_char_sh
676c65bf
VM
71 || [istarget i?86-*-*]
72 || [istarget x86_64-*-*]
73 || [istarget alpha*-*-*]
74- || [istarget arm*-*-linux-gnueabi]
399721ad 75+ || [istarget arm*-*-linux-*eabi*]
676c65bf
VM
76 || [istarget hppa*-*linux*]
77 || [istarget s390*-*-*]
78 || [istarget powerpc*-*-*]
399721ad
VM
79diff -pruN gcc-4.7.2.orig/libgcc/config.host gcc-4.7.2/libgcc/config.host
80--- gcc-4.7.2.orig/libgcc/config.host 2012-09-05 12:19:47.000000000 +0000
81+++ gcc-4.7.2/libgcc/config.host 2012-11-06 14:29:57.164621996 +0000
82@@ -327,7 +327,7 @@ arm*-*-netbsdelf*)
83 arm*-*-linux*) # ARM GNU/Linux with ELF
84 tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
85 case ${host} in
86- arm*-*-linux-*eabi)
87+ arm*-*-linux-*eabi*)
88 tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
89 tm_file="$tm_file arm/bpabi-lib.h"
90 unwind_header=config/arm/unwind-arm.h
91@@ -341,7 +341,7 @@ arm*-*-linux*) # ARM GNU/Linux with EL
92 arm*-*-uclinux*) # ARM ucLinux
93 tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
94 case ${host} in
95- arm*-*-uclinux*eabi)
96+ arm*-*-uclinux*eabi*)
97 tmake_file="${tmake_file} arm/t-bpabi"
98 tm_file="$tm_file arm/bpabi-lib.h"
99 unwind_header=config/arm/unwind-arm.h
100diff -pruN gcc-4.7.2.orig/libjava/configure gcc-4.7.2/libjava/configure
101--- gcc-4.7.2.orig/libjava/configure 2012-09-20 07:23:55.000000000 +0000
102+++ gcc-4.7.2/libjava/configure 2012-11-06 14:30:44.400623603 +0000
103@@ -20542,7 +20542,7 @@ case "${host}" in
676c65bf
VM
104 # on Darwin -single_module speeds up loading of the dynamic libraries.
105 extra_ldflags_libjava=-Wl,-single_module
106 ;;
107-arm*linux*eabi)
399721ad 108+arm*linux*eabi*)
676c65bf
VM
109 # Some of the ARM unwinder code is actually in libstdc++. We
110 # could in principle replicate it in libgcj, but it's better to
111 # have a dependency on libstdc++.
399721ad
VM
112diff -pruN gcc-4.7.2.orig/libjava/configure.ac gcc-4.7.2/libjava/configure.ac
113--- gcc-4.7.2.orig/libjava/configure.ac 2012-05-21 18:14:01.000000000 +0000
114+++ gcc-4.7.2/libjava/configure.ac 2012-11-06 14:31:02.548624223 +0000
115@@ -931,7 +931,7 @@ case "${host}" in
676c65bf
VM
116 # on Darwin -single_module speeds up loading of the dynamic libraries.
117 extra_ldflags_libjava=-Wl,-single_module
118 ;;
119-arm*linux*eabi)
399721ad 120+arm*linux*eabi*)
676c65bf
VM
121 # Some of the ARM unwinder code is actually in libstdc++. We
122 # could in principle replicate it in libgcj, but it's better to
123 # have a dependency on libstdc++.
399721ad
VM
124diff -pruN gcc-4.7.2.orig/libstdc++-v3/configure.host gcc-4.7.2/libstdc++-v3/configure.host
125--- gcc-4.7.2.orig/libstdc++-v3/configure.host 2012-02-10 18:10:12.000000000 +0000
126+++ gcc-4.7.2/libstdc++-v3/configure.host 2012-11-06 14:32:00.692626201 +0000
127@@ -340,7 +340,7 @@ case "${host}" in
676c65bf
VM
128 fi
129 esac
130 case "${host}" in
131- arm*-*-linux-*eabi)
132+ arm*-*-linux-*eabi*)
133 port_specific_symbol_files="\$(srcdir)/../config/os/gnu-linux/arm-eabi-extra.ver"
134 ;;
135 esac
399721ad
VM
136diff -pruN gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h gcc-4.7.2/gcc/config/arm/linux-eabi.h
137--- gcc-4.7.2.orig/gcc/config/arm/linux-eabi.h 2012-11-26 14:44:44.335493878 +0000
138+++ gcc-4.7.2/gcc/config/arm/linux-eabi.h 2012-11-26 14:55:06.599515067 +0000
139@@ -62,7 +62,11 @@
140 /* Use ld-linux.so.3 so that it will be possible to run "classic"
141 GNU/Linux binaries on an EABI system. */
142 #undef GLIBC_DYNAMIC_LINKER
143-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
144+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
145+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
146+#define GLIBC_DYNAMIC_LINKER \
147+ "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
148+ %{!mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "}"
676c65bf 149
399721ad
VM
150 /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
151 use the GNU/Linux version, not the generic BPABI version. */