summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElvis Dowson <elvis.dowson@gmail.com>2013-03-29 12:23:09 +0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-04-22 14:45:04 +0100
commitfd566d20b76c0c9febcd7a13cfd4b062d2d14424 (patch)
tree9f95a07483a7172587742ff69ba50b70a67df926
parentc3cc4bfc83e53acdb2e7ef6ac139598a5ebd8a7f (diff)
downloadpoky-fd566d20b76c0c9febcd7a13cfd4b062d2d14424.tar.gz
gcc-4.8: Refactor gcc-4.8.0 patch files.
(From OE-Core rev: 16ab55220c4b602a8406c7a4405c737caae5907b) Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8.inc70
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch)31
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0002-uclibc-conf.patch53
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0003-gcc-uclibc-locale-ctype_touplow_t.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/gcc-uclibc-locale-ctype_touplow_t.patch)67
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0004-uclibc-locale.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/200-uclibc-locale.patch)192
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0005-uclibc-locale-no__x.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/203-uclibc-locale-no__x.patch)178
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0006-uclibc-locale-wchar_fix.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/204-uclibc-locale-wchar_fix.patch)30
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0007-uclibc-locale-update.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/205-uclibc-locale-update.patch)319
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0008-missing-execinfo_h.patch28
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0009-c99-snprintf.patch28
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0010-c99-complex-ugly-hack.patch29
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0011-index_macro.patch44
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0012-libmudflap-susv3-legacy.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/305-libmudflap-susv3-legacy.patch)31
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0013-libstdc-namespace.patch54
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0014-sh-pr24836.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch29
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/gcc-poison-system-directories.patch)249
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0017-gcc-poison-dir-extend.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/gcc-poison-dir-extend.patch)24
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0018-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch)79
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0019-64-bit-multilib-hack.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/64bithack.patch)46
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0020-optional-libstdc.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/optional_libstdc.patch)88
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0021-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/disable_relax_pic_calls_flag.patch)37
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0022-COLLECT_GCC_OPTIONS.patch38
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/use-defaults.h-and-t-oe-in-B.patch)57
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0024-PR-target-32219.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/pr32219.patch)53
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0025-fortran-cross-compile-hack.patch46
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0026-libgcc-sjlj-check.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/libgcc-sjlj-check.patch)33
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0027-cpp-honor-sysroot.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/cpp-honor-sysroot.patch)56
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0028-MIPS64-Default-to-N64-ABI.patch31
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/GLIBC_DYNAMIC_LINKER.patch)133
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0030-gcc-Fix-argument-list-too-long-error.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/gcc-argument-list-too-long.patch)11
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0031-Disable-sdt.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/disablesdt.patch)25
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0032-libtool.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/libtool.patch)25
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0033-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/gcc-armv4-pass-fix-v4bx-to-ld.patch)30
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/use-ml-conf-files-from-B.patch)41
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0035-wcast-qual-PR-55383.patch (renamed from meta/recipes-devtools/gcc/gcc-4.8/wcast-qual-PR55383.patch)40
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/100-uclibc-conf.patch39
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/301-missing-execinfo_h.patch15
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/302-c99-snprintf.patch15
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/303-c99-complex-ugly-hack.patch16
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/304-index_macro.patch30
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/306-libstdc++-namespace.patch40
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/740-sh-pr24836.patch31
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/800-arm-bigendian.patch20
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/COLLECT_GCC_OPTIONS.patch25
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/fortran-cross-compile-hack.patch32
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/mips64-default-n64.patch19
47 files changed, 1537 insertions, 1115 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc
index 25b5f2caf7..87af783e2c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
@@ -30,41 +30,41 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
30 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8" 30 file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8"
31 31
32SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ 32SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
33 file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ 33 file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
34 file://100-uclibc-conf.patch \ 34 file://0002-uclibc-conf.patch \
35 file://gcc-uclibc-locale-ctype_touplow_t.patch \ 35 file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \
36 file://200-uclibc-locale.patch \ 36 file://0004-uclibc-locale.patch \
37 file://203-uclibc-locale-no__x.patch; \ 37 file://0005-uclibc-locale-no__x.patch \
38 file://204-uclibc-locale-wchar_fix.patch; \ 38 file://0006-uclibc-locale-wchar_fix.patch \
39 file://205-uclibc-locale-update.patch; \ 39 file://0007-uclibc-locale-update.patch \
40 file://301-missing-execinfo_h.patch \ 40 file://0008-missing-execinfo_h.patch \
41 file://302-c99-snprintf.patch \ 41 file://0009-c99-snprintf.patch \
42 file://303-c99-complex-ugly-hack.patch \ 42 file://0010-c99-complex-ugly-hack.patch \
43 file://304-index_macro.patch \ 43 file://0011-index_macro.patch \
44 file://305-libmudflap-susv3-legacy.patch \ 44 file://0012-libmudflap-susv3-legacy.patch \
45 file://306-libstdc++-namespace.patch \ 45 file://0013-libstdc-namespace.patch \
46 file://740-sh-pr24836.patch \ 46 file://0014-sh-pr24836.patch \
47 file://800-arm-bigendian.patch \ 47 file://0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch \
48 file://gcc-poison-system-directories.patch \ 48 file://0016-gcc-poison-system-directories.patch \
49 file://gcc-poison-dir-extend.patch \ 49 file://0017-gcc-poison-dir-extend.patch \
50 file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ 50 file://0018-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
51 file://64bithack.patch \ 51 file://0019-64-bit-multilib-hack.patch \
52 file://optional_libstdc.patch \ 52 file://0020-optional-libstdc.patch \
53 file://disable_relax_pic_calls_flag.patch \ 53 file://0021-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
54 file://COLLECT_GCC_OPTIONS.patch \ 54 file://0022-COLLECT_GCC_OPTIONS.patch \
55 file://use-defaults.h-and-t-oe-in-B.patch \ 55 file://0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
56 file://pr32219.patch \ 56 file://0024-PR-target-32219.patch \
57 file://fortran-cross-compile-hack.patch \ 57 file://0025-fortran-cross-compile-hack.patch \
58 file://libgcc-sjlj-check.patch \ 58 file://0026-libgcc-sjlj-check.patch \
59 file://cpp-honor-sysroot.patch \ 59 file://0027-cpp-honor-sysroot.patch \
60 file://mips64-default-n64.patch \ 60 file://0028-MIPS64-Default-to-N64-ABI.patch \
61 file://GLIBC_DYNAMIC_LINKER.patch \ 61 file://0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
62 file://gcc-argument-list-too-long.patch \ 62 file://0030-gcc-Fix-argument-list-too-long-error.patch \
63 file://disablesdt.patch \ 63 file://0031-Disable-sdt.patch \
64 file://libtool.patch \ 64 file://0032-libtool.patch \
65 file://gcc-armv4-pass-fix-v4bx-to-ld.patch \ 65 file://0033-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
66 file://use-ml-conf-files-from-B.patch \ 66 file://0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
67 file://wcast-qual-PR55383.patch \ 67 file://0035-wcast-qual-PR-55383.patch \
68 " 68 "
69SRC_URI[md5sum] = "e6040024eb9e761c3bea348d1fa5abb0" 69SRC_URI[md5sum] = "e6040024eb9e761c3bea348d1fa5abb0"
70SRC_URI[sha256sum] = "b037fe5132b71ecad2ea7141ec92292b5d32427bf90fd90cde432b1d5abacc2c" 70SRC_URI[sha256sum] = "b037fe5132b71ecad2ea7141ec92292b5d32427bf90fd90cde432b1d5abacc2c"
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/meta/recipes-devtools/gcc/gcc-4.8/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
index 964c4bbbf2..e588011678 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -1,15 +1,21 @@
1Upstream-Status: Inappropriate [embedded specific] 1From bf3d96ae58fa180b8b468d25dc2e0209daca2751 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:37:11 +0400
4Subject: [PATCH 01/35] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 7
8Upstream-Status: Inappropriate [embedded specific]
3--- 9---
4 configure | 2 +- 10 configure | 2 +-
5 configure.ac | 2 +- 11 configure.ac | 2 +-
6 2 files changed, 2 insertions(+), 2 deletions(-) 12 2 files changed, 2 insertions(+), 2 deletions(-)
7 13
8Index: gcc-4_7-branch/configure.ac 14diff --git a/configure b/configure
9=================================================================== 15index d809535..1b76c90 100755
10--- gcc-4_7-branch.orig/configure.ac 2012-04-10 10:19:50.923337154 -0700 16--- a/configure
11+++ gcc-4_7-branch/configure.ac 2012-04-10 10:19:54.911337344 -0700 17+++ b/configure
12@@ -2825,7 +2825,7 @@ 18@@ -7439,7 +7439,7 @@ fi
13 # for target_alias and gcc doesn't manage it consistently. 19 # for target_alias and gcc doesn't manage it consistently.
14 target_configargs="--cache-file=./config.cache ${target_configargs}" 20 target_configargs="--cache-file=./config.cache ${target_configargs}"
15 21
@@ -18,11 +24,11 @@ Index: gcc-4_7-branch/configure.ac
18 case " $target_configdirs " in 24 case " $target_configdirs " in
19 *" newlib "*) 25 *" newlib "*)
20 case " $target_configargs " in 26 case " $target_configargs " in
21Index: gcc-4_7-branch/configure 27diff --git a/configure.ac b/configure.ac
22=================================================================== 28index 48ec1aa..89d1d3f 100644
23--- gcc-4_7-branch.orig/configure 2012-04-10 10:19:50.911337153 -0700 29--- a/configure.ac
24+++ gcc-4_7-branch/configure 2012-04-10 10:19:54.915337349 -0700 30+++ b/configure.ac
25@@ -7368,7 +7368,7 @@ 31@@ -2873,7 +2873,7 @@ fi
26 # for target_alias and gcc doesn't manage it consistently. 32 # for target_alias and gcc doesn't manage it consistently.
27 target_configargs="--cache-file=./config.cache ${target_configargs}" 33 target_configargs="--cache-file=./config.cache ${target_configargs}"
28 34
@@ -31,3 +37,6 @@ Index: gcc-4_7-branch/configure
31 case " $target_configdirs " in 37 case " $target_configdirs " in
32 *" newlib "*) 38 *" newlib "*)
33 case " $target_configargs " in 39 case " $target_configargs " in
40--
411.7.10.4
42
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0002-uclibc-conf.patch b/meta/recipes-devtools/gcc/gcc-4.8/0002-uclibc-conf.patch
new file mode 100644
index 0000000000..dda3b1041b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0002-uclibc-conf.patch
@@ -0,0 +1,53 @@
1From d030973c872c00d916921d84deee0af2c0d38081 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:38:25 +0400
4Subject: [PATCH 02/35] uclibc-conf
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9---
10 contrib/regression/objs-gcc.sh | 4 ++++
11 libjava/classpath/ltconfig | 4 ++--
12 2 files changed, 6 insertions(+), 2 deletions(-)
13
14diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh
15index 60b0497..6dc7ead 100755
16--- a/contrib/regression/objs-gcc.sh
17+++ b/contrib/regression/objs-gcc.sh
18@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ]
19 then
20 make all-gdb all-dejagnu all-ld || exit 1
21 make install-gdb install-dejagnu install-ld || exit 1
22+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
23+ then
24+ make all-gdb all-dejagnu all-ld || exit 1
25+ make install-gdb install-dejagnu install-ld || exit 1
26 elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
27 make bootstrap || exit 1
28 make install || exit 1
29diff --git a/libjava/classpath/ltconfig b/libjava/classpath/ltconfig
30index 743d951..ae4ea60 100755
31--- a/libjava/classpath/ltconfig
32+++ b/libjava/classpath/ltconfig
33@@ -603,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
34
35 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
36 case $host_os in
37-linux-gnu*) ;;
38+linux-gnu*|linux-uclibc*) ;;
39 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
40 esac
41
42@@ -1247,7 +1247,7 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
43 ;;
44
45 # This must be Linux ELF.
46-linux-gnu*)
47+linux*)
48 version_type=linux
49 need_lib_prefix=no
50 need_version=no
51--
521.7.10.4
53
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-uclibc-locale-ctype_touplow_t.patch b/meta/recipes-devtools/gcc/gcc-4.8/0003-gcc-uclibc-locale-ctype_touplow_t.patch
index 1648b3b98c..7098e99502 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-uclibc-locale-ctype_touplow_t.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0003-gcc-uclibc-locale-ctype_touplow_t.patch
@@ -1,10 +1,37 @@
1From d2d9dd756c4356d14dd7ae003856344cb4f37985 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:40:12 +0400
4Subject: [PATCH 03/35] gcc-uclibc-locale-ctype_touplow_t
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
1Upstream-Status: Pending 8Upstream-Status: Pending
9---
10 libstdc++-v3/config/locale/generic/c_locale.cc | 5 +++++
11 libstdc++-v3/config/locale/generic/c_locale.h | 9 +++++++++
12 libstdc++-v3/config/os/gnu-linux/ctype_base.h | 9 +++++++++
13 3 files changed, 23 insertions(+)
2 14
3Index: gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.h 15diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
4=================================================================== 16index 0d309a5..f2f1e1f 100644
5--- gcc-4.6.0.orig/libstdc++-v3/config/locale/generic/c_locale.h 17--- a/libstdc++-v3/config/locale/generic/c_locale.cc
6+++ gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.h 18+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
7@@ -41,13 +41,22 @@ 19@@ -263,5 +263,10 @@ _GLIBCXX_END_NAMESPACE_VERSION
20 #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
21 #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
22 extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
23+#ifdef __UCLIBC__
24+// This is because __c_locale is of type __ctype_touplow_t* which is short on uclibc. for glibc its int*
25+_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPs, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPs);
26+#else
27 _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi);
28+#endif
29 #endif // _GLIBCXX_LONG_DOUBLE_COMPAT
30diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h
31index b5fd989..3da9a5d 100644
32--- a/libstdc++-v3/config/locale/generic/c_locale.h
33+++ b/libstdc++-v3/config/locale/generic/c_locale.h
34@@ -40,13 +40,22 @@
8 35
9 #include <clocale> 36 #include <clocale>
10 37
@@ -27,11 +54,11 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.h
27 54
28 // Convert numeric value of type double and long double to string and 55 // Convert numeric value of type double and long double to string and
29 // return length of string. If vsnprintf is available use it, otherwise 56 // return length of string. If vsnprintf is available use it, otherwise
30Index: gcc-4.6.0/libstdc++-v3/config/os/gnu-linux/ctype_base.h 57diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
31=================================================================== 58index 2d8e978..14eb08f 100644
32--- gcc-4.6.0.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h 59--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
33+++ gcc-4.6.0/libstdc++-v3/config/os/gnu-linux/ctype_base.h 60+++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
34@@ -34,6 +34,11 @@ 61@@ -33,6 +33,11 @@
35 62
36 // Information as gleaned from /usr/include/ctype.h 63 // Information as gleaned from /usr/include/ctype.h
37 64
@@ -43,7 +70,7 @@ Index: gcc-4.6.0/libstdc++-v3/config/os/gnu-linux/ctype_base.h
43 namespace std _GLIBCXX_VISIBILITY(default) 70 namespace std _GLIBCXX_VISIBILITY(default)
44 { 71 {
45 _GLIBCXX_BEGIN_NAMESPACE_VERSION 72 _GLIBCXX_BEGIN_NAMESPACE_VERSION
46@@ -42,7 +47,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION 73@@ -41,7 +46,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
47 struct ctype_base 74 struct ctype_base
48 { 75 {
49 // Non-standard typedefs. 76 // Non-standard typedefs.
@@ -55,18 +82,6 @@ Index: gcc-4.6.0/libstdc++-v3/config/os/gnu-linux/ctype_base.h
55 82
56 // NB: Offsets into ctype<char>::_M_table force a particular size 83 // NB: Offsets into ctype<char>::_M_table force a particular size
57 // on the mask type. Because of this, we don't use an enum. 84 // on the mask type. Because of this, we don't use an enum.
58Index: gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.cc 85--
59=================================================================== 861.7.10.4
60--- gcc-4.6.0.orig/libstdc++-v3/config/locale/generic/c_locale.cc 87
61+++ gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.cc
62@@ -264,5 +264,10 @@ _GLIBCXX_END_NAMESPACE_VERSION
63 #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
64 #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
65 extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
66+#ifdef __UCLIBC__
67+// This is because __c_locale is of type __ctype_touplow_t* which is short on uclibc. for glibc its int*
68+_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPs, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPs);
69+#else
70 _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi);
71+#endif
72 #endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/200-uclibc-locale.patch b/meta/recipes-devtools/gcc/gcc-4.8/0004-uclibc-locale.patch
index df22c54406..49f5f338e3 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/200-uclibc-locale.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0004-uclibc-locale.patch
@@ -1,10 +1,47 @@
1From a55c751a449c2cbf0b3fcc07aab1b86bf9661510 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:41:39 +0400
4Subject: [PATCH 04/35] uclibc-locale
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
1Upstream-Status: Pending 8Upstream-Status: Pending
9---
10 libstdc++-v3/acinclude.m4 | 37 ++
11 .../config/locale/uclibc/c++locale_internal.h | 63 ++
12 libstdc++-v3/config/locale/uclibc/c_locale.cc | 160 +++++
13 libstdc++-v3/config/locale/uclibc/c_locale.h | 117 ++++
14 .../config/locale/uclibc/codecvt_members.cc | 308 +++++++++
15 .../config/locale/uclibc/collate_members.cc | 80 +++
16 libstdc++-v3/config/locale/uclibc/ctype_members.cc | 300 +++++++++
17 .../config/locale/uclibc/messages_members.cc | 100 +++
18 .../config/locale/uclibc/messages_members.h | 118 ++++
19 .../config/locale/uclibc/monetary_members.cc | 692 ++++++++++++++++++++
20 .../config/locale/uclibc/numeric_members.cc | 160 +++++
21 libstdc++-v3/config/locale/uclibc/time_members.cc | 406 ++++++++++++
22 libstdc++-v3/config/locale/uclibc/time_members.h | 68 ++
23 libstdc++-v3/configure | 75 +++
24 libstdc++-v3/include/c_compatibility/wchar.h | 2 +
25 libstdc++-v3/include/c_std/cwchar | 2 +
26 16 files changed, 2688 insertions(+)
27 create mode 100644 libstdc++-v3/config/locale/uclibc/c++locale_internal.h
28 create mode 100644 libstdc++-v3/config/locale/uclibc/c_locale.cc
29 create mode 100644 libstdc++-v3/config/locale/uclibc/c_locale.h
30 create mode 100644 libstdc++-v3/config/locale/uclibc/codecvt_members.cc
31 create mode 100644 libstdc++-v3/config/locale/uclibc/collate_members.cc
32 create mode 100644 libstdc++-v3/config/locale/uclibc/ctype_members.cc
33 create mode 100644 libstdc++-v3/config/locale/uclibc/messages_members.cc
34 create mode 100644 libstdc++-v3/config/locale/uclibc/messages_members.h
35 create mode 100644 libstdc++-v3/config/locale/uclibc/monetary_members.cc
36 create mode 100644 libstdc++-v3/config/locale/uclibc/numeric_members.cc
37 create mode 100644 libstdc++-v3/config/locale/uclibc/time_members.cc
38 create mode 100644 libstdc++-v3/config/locale/uclibc/time_members.h
2 39
3Index: gcc-4_7-branch/libstdc++-v3/acinclude.m4 40diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
4=================================================================== 41index 0871a6a..326d7ef 100644
5--- gcc-4_7-branch.orig/libstdc++-v3/acinclude.m4 2012-04-10 10:19:50.395337128 -0700 42--- a/libstdc++-v3/acinclude.m4
6+++ gcc-4_7-branch/libstdc++-v3/acinclude.m4 2012-04-10 10:30:37.327368356 -0700 43+++ b/libstdc++-v3/acinclude.m4
7@@ -1924,6 +1924,9 @@ 44@@ -1905,6 +1905,9 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
8 # Default to "generic". 45 # Default to "generic".
9 if test $enable_clocale_flag = auto; then 46 if test $enable_clocale_flag = auto; then
10 case ${target_os} in 47 case ${target_os} in
@@ -14,7 +51,7 @@ Index: gcc-4_7-branch/libstdc++-v3/acinclude.m4
14 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) 51 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
15 enable_clocale_flag=gnu 52 enable_clocale_flag=gnu
16 ;; 53 ;;
17@@ -2085,6 +2088,40 @@ 54@@ -2069,6 +2072,40 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
18 CTIME_CC=config/locale/generic/time_members.cc 55 CTIME_CC=config/locale/generic/time_members.cc
19 CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h 56 CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
20 ;; 57 ;;
@@ -55,10 +92,11 @@ Index: gcc-4_7-branch/libstdc++-v3/acinclude.m4
55 esac 92 esac
56 93
57 # This is where the testsuite looks for locale catalogs, using the 94 # This is where the testsuite looks for locale catalogs, using the
58Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 95diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
59=================================================================== 96new file mode 100644
60--- /dev/null 1970-01-01 00:00:00.000000000 +0000 97index 0000000..2ae3e4a
61+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2012-04-10 10:30:37.327368356 -0700 98--- /dev/null
99+++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
62@@ -0,0 +1,63 @@ 100@@ -0,0 +1,63 @@
63+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*- 101+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
64+ 102+
@@ -123,10 +161,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
123+#endif 161+#endif
124+ 162+
125+#endif // GLIBC 2.3 and later 163+#endif // GLIBC 2.3 and later
126Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c_locale.cc 164diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.cc b/libstdc++-v3/config/locale/uclibc/c_locale.cc
127=================================================================== 165new file mode 100644
128--- /dev/null 1970-01-01 00:00:00.000000000 +0000 166index 0000000..5081dc1
129+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c_locale.cc 2012-04-10 10:30:37.327368356 -0700 167--- /dev/null
168+++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
130@@ -0,0 +1,160 @@ 169@@ -0,0 +1,160 @@
131+// Wrapper for underlying C-language localization -*- C++ -*- 170+// Wrapper for underlying C-language localization -*- C++ -*-
132+ 171+
@@ -288,10 +327,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c_locale.cc
288+{ 327+{
289+ const char* const* const locale::_S_categories = __gnu_cxx::category_names; 328+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
290+} // namespace std 329+} // namespace std
291Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c_locale.h 330diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.h b/libstdc++-v3/config/locale/uclibc/c_locale.h
292=================================================================== 331new file mode 100644
293--- /dev/null 1970-01-01 00:00:00.000000000 +0000 332index 0000000..da07c1f
294+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c_locale.h 2012-04-10 10:30:37.327368356 -0700 333--- /dev/null
334+++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
295@@ -0,0 +1,117 @@ 335@@ -0,0 +1,117 @@
296+// Wrapper for underlying C-language localization -*- C++ -*- 336+// Wrapper for underlying C-language localization -*- C++ -*-
297+ 337+
@@ -410,10 +450,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/c_locale.h
410+} 450+}
411+ 451+
412+#endif 452+#endif
413Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 453diff --git a/libstdc++-v3/config/locale/uclibc/codecvt_members.cc b/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
414=================================================================== 454new file mode 100644
415--- /dev/null 1970-01-01 00:00:00.000000000 +0000 455index 0000000..64aa962
416+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2012-04-10 10:30:37.327368356 -0700 456--- /dev/null
457+++ b/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
417@@ -0,0 +1,308 @@ 458@@ -0,0 +1,308 @@
418+// std::codecvt implementation details, GNU version -*- C++ -*- 459+// std::codecvt implementation details, GNU version -*- C++ -*-
419+ 460+
@@ -723,10 +764,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
723+ } 764+ }
724+#endif 765+#endif
725+} 766+}
726Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/collate_members.cc 767diff --git a/libstdc++-v3/config/locale/uclibc/collate_members.cc b/libstdc++-v3/config/locale/uclibc/collate_members.cc
727=================================================================== 768new file mode 100644
728--- /dev/null 1970-01-01 00:00:00.000000000 +0000 769index 0000000..c2664a7
729+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/collate_members.cc 2012-04-10 10:30:37.327368356 -0700 770--- /dev/null
771+++ b/libstdc++-v3/config/locale/uclibc/collate_members.cc
730@@ -0,0 +1,80 @@ 772@@ -0,0 +1,80 @@
731+// std::collate implementation details, GNU version -*- C++ -*- 773+// std::collate implementation details, GNU version -*- C++ -*-
732+ 774+
@@ -808,10 +850,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/collate_members.cc
808+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); } 850+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
809+#endif 851+#endif
810+} 852+}
811Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/ctype_members.cc 853diff --git a/libstdc++-v3/config/locale/uclibc/ctype_members.cc b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
812=================================================================== 854new file mode 100644
813--- /dev/null 1970-01-01 00:00:00.000000000 +0000 855index 0000000..7294e3a
814+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2012-04-10 10:30:37.331368420 -0700 856--- /dev/null
857+++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
815@@ -0,0 +1,300 @@ 858@@ -0,0 +1,300 @@
816+// std::ctype implementation details, GNU version -*- C++ -*- 859+// std::ctype implementation details, GNU version -*- C++ -*-
817+ 860+
@@ -1113,10 +1156,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/ctype_members.cc
1113+ } 1156+ }
1114+#endif // _GLIBCXX_USE_WCHAR_T 1157+#endif // _GLIBCXX_USE_WCHAR_T
1115+} 1158+}
1116Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/messages_members.cc 1159diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.cc b/libstdc++-v3/config/locale/uclibc/messages_members.cc
1117=================================================================== 1160new file mode 100644
1118--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1161index 0000000..13594d9
1119+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/messages_members.cc 2012-04-10 10:30:37.331368420 -0700 1162--- /dev/null
1163+++ b/libstdc++-v3/config/locale/uclibc/messages_members.cc
1120@@ -0,0 +1,100 @@ 1164@@ -0,0 +1,100 @@
1121+// std::messages implementation details, GNU version -*- C++ -*- 1165+// std::messages implementation details, GNU version -*- C++ -*-
1122+ 1166+
@@ -1218,10 +1262,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/messages_members.cc
1218+ } 1262+ }
1219+#endif 1263+#endif
1220+} 1264+}
1221Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/messages_members.h 1265diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
1222=================================================================== 1266new file mode 100644
1223--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1267index 0000000..1424078
1224+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/messages_members.h 2012-04-10 10:30:37.331368420 -0700 1268--- /dev/null
1269+++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
1225@@ -0,0 +1,118 @@ 1270@@ -0,0 +1,118 @@
1226+// std::messages implementation details, GNU version -*- C++ -*- 1271+// std::messages implementation details, GNU version -*- C++ -*-
1227+ 1272+
@@ -1341,10 +1386,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/messages_members.h
1341+ this->_S_create_c_locale(this->_M_c_locale_messages, __s); 1386+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
1342+ } 1387+ }
1343+ } 1388+ }
1344Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1389diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
1345=================================================================== 1390new file mode 100644
1346--- /dev/null 1970-01-01 00:00:00.000000000 +0000 1391index 0000000..aa52731
1347+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2012-04-10 10:30:37.331368420 -0700 1392--- /dev/null
1393+++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
1348@@ -0,0 +1,692 @@ 1394@@ -0,0 +1,692 @@
1349+// std::moneypunct implementation details, GNU version -*- C++ -*- 1395+// std::moneypunct implementation details, GNU version -*- C++ -*-
1350+ 1396+
@@ -2038,10 +2084,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/monetary_members.cc
2038+ } 2084+ }
2039+#endif 2085+#endif
2040+} 2086+}
2041Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2087diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
2042=================================================================== 2088new file mode 100644
2043--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2089index 0000000..883ec1a
2044+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2012-04-10 10:30:37.331368420 -0700 2090--- /dev/null
2091+++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
2045@@ -0,0 +1,160 @@ 2092@@ -0,0 +1,160 @@
2046+// std::numpunct implementation details, GNU version -*- C++ -*- 2093+// std::numpunct implementation details, GNU version -*- C++ -*-
2047+ 2094+
@@ -2203,10 +2250,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/numeric_members.cc
2203+ { delete _M_data; } 2250+ { delete _M_data; }
2204+ #endif 2251+ #endif
2205+} 2252+}
2206Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/time_members.cc 2253diff --git a/libstdc++-v3/config/locale/uclibc/time_members.cc b/libstdc++-v3/config/locale/uclibc/time_members.cc
2207=================================================================== 2254new file mode 100644
2208--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2255index 0000000..e0707d7
2209+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/time_members.cc 2012-04-10 10:30:37.331368420 -0700 2256--- /dev/null
2257+++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
2210@@ -0,0 +1,406 @@ 2258@@ -0,0 +1,406 @@
2211+// std::time_get, std::time_put implementation, GNU version -*- C++ -*- 2259+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
2212+ 2260+
@@ -2614,10 +2662,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/time_members.cc
2614+ } 2662+ }
2615+#endif 2663+#endif
2616+} 2664+}
2617Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/time_members.h 2665diff --git a/libstdc++-v3/config/locale/uclibc/time_members.h b/libstdc++-v3/config/locale/uclibc/time_members.h
2618=================================================================== 2666new file mode 100644
2619--- /dev/null 1970-01-01 00:00:00.000000000 +0000 2667index 0000000..ba8e858
2620+++ gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/time_members.h 2012-04-10 10:30:37.331368420 -0700 2668--- /dev/null
2669+++ b/libstdc++-v3/config/locale/uclibc/time_members.h
2621@@ -0,0 +1,68 @@ 2670@@ -0,0 +1,68 @@
2622+// std::time_get, std::time_put implementation, GNU version -*- C++ -*- 2671+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
2623+ 2672+
@@ -2687,11 +2736,11 @@ Index: gcc-4_7-branch/libstdc++-v3/config/locale/uclibc/time_members.h
2687+ delete _M_data; 2736+ delete _M_data;
2688+ _S_destroy_c_locale(_M_c_locale_timepunct); 2737+ _S_destroy_c_locale(_M_c_locale_timepunct);
2689+ } 2738+ }
2690Index: gcc-4_7-branch/libstdc++-v3/configure 2739diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
2691=================================================================== 2740index f40ddcf..c57a751 100755
2692--- gcc-4_7-branch.orig/libstdc++-v3/configure 2012-04-10 10:19:50.383337127 -0700 2741--- a/libstdc++-v3/configure
2693+++ gcc-4_7-branch/libstdc++-v3/configure 2012-04-10 10:30:37.347368481 -0700 2742+++ b/libstdc++-v3/configure
2694@@ -15736,6 +15736,9 @@ 2743@@ -15822,6 +15822,9 @@ fi
2695 # Default to "generic". 2744 # Default to "generic".
2696 if test $enable_clocale_flag = auto; then 2745 if test $enable_clocale_flag = auto; then
2697 case ${target_os} in 2746 case ${target_os} in
@@ -2701,7 +2750,7 @@ Index: gcc-4_7-branch/libstdc++-v3/configure
2701 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) 2750 linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
2702 enable_clocale_flag=gnu 2751 enable_clocale_flag=gnu
2703 ;; 2752 ;;
2704@@ -15990,6 +15993,78 @@ 2753@@ -16079,6 +16082,78 @@ $as_echo "newlib" >&6; }
2705 CTIME_CC=config/locale/generic/time_members.cc 2754 CTIME_CC=config/locale/generic/time_members.cc
2706 CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h 2755 CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
2707 ;; 2756 ;;
@@ -2780,11 +2829,11 @@ Index: gcc-4_7-branch/libstdc++-v3/configure
2780 esac 2829 esac
2781 2830
2782 # This is where the testsuite looks for locale catalogs, using the 2831 # This is where the testsuite looks for locale catalogs, using the
2783Index: gcc-4_7-branch/libstdc++-v3/include/c_compatibility/wchar.h 2832diff --git a/libstdc++-v3/include/c_compatibility/wchar.h b/libstdc++-v3/include/c_compatibility/wchar.h
2784=================================================================== 2833index 580d725..3fe61b8 100644
2785--- gcc-4_7-branch.orig/libstdc++-v3/include/c_compatibility/wchar.h 2012-04-10 10:19:50.303337124 -0700 2834--- a/libstdc++-v3/include/c_compatibility/wchar.h
2786+++ gcc-4_7-branch/libstdc++-v3/include/c_compatibility/wchar.h 2012-04-10 10:30:37.347368481 -0700 2835+++ b/libstdc++-v3/include/c_compatibility/wchar.h
2787@@ -101,7 +101,9 @@ 2836@@ -101,7 +101,9 @@ using std::wmemcmp;
2788 using std::wmemcpy; 2837 using std::wmemcpy;
2789 using std::wmemmove; 2838 using std::wmemmove;
2790 using std::wmemset; 2839 using std::wmemset;
@@ -2794,11 +2843,11 @@ Index: gcc-4_7-branch/libstdc++-v3/include/c_compatibility/wchar.h
2794 2843
2795 #if _GLIBCXX_USE_C99 2844 #if _GLIBCXX_USE_C99
2796 using std::wcstold; 2845 using std::wcstold;
2797Index: gcc-4_7-branch/libstdc++-v3/include/c_std/cwchar 2846diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar
2798=================================================================== 2847index 0e6b1fc..405aee2 100644
2799--- gcc-4_7-branch.orig/libstdc++-v3/include/c_std/cwchar 2012-04-10 10:19:50.295337124 -0700 2848--- a/libstdc++-v3/include/c_std/cwchar
2800+++ gcc-4_7-branch/libstdc++-v3/include/c_std/cwchar 2012-04-10 10:30:37.347368481 -0700 2849+++ b/libstdc++-v3/include/c_std/cwchar
2801@@ -177,7 +177,9 @@ 2850@@ -175,7 +175,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2802 using ::wcscoll; 2851 using ::wcscoll;
2803 using ::wcscpy; 2852 using ::wcscpy;
2804 using ::wcscspn; 2853 using ::wcscspn;
@@ -2808,3 +2857,6 @@ Index: gcc-4_7-branch/libstdc++-v3/include/c_std/cwchar
2808 using ::wcslen; 2857 using ::wcslen;
2809 using ::wcsncat; 2858 using ::wcsncat;
2810 using ::wcsncmp; 2859 using ::wcsncmp;
2860--
28611.7.10.4
2862
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/203-uclibc-locale-no__x.patch b/meta/recipes-devtools/gcc/gcc-4.8/0005-uclibc-locale-no__x.patch
index c602e913e9..dcbbfe4545 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/203-uclibc-locale-no__x.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0005-uclibc-locale-no__x.patch
@@ -1,10 +1,29 @@
1From 6a3e8506a12c12728d8b29901defd738be43757f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:42:36 +0400
4Subject: [PATCH 05/35] uclibc-locale-no__x
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
1Upstream-Status: Pending 8Upstream-Status: Pending
9---
10 .../config/locale/uclibc/c++locale_internal.h | 45 ++++++++++++++++++++
11 libstdc++-v3/config/locale/uclibc/c_locale.cc | 14 ------
12 libstdc++-v3/config/locale/uclibc/c_locale.h | 1 +
13 .../config/locale/uclibc/collate_members.cc | 7 ---
14 libstdc++-v3/config/locale/uclibc/ctype_members.cc | 7 ---
15 .../config/locale/uclibc/messages_members.cc | 7 +--
16 .../config/locale/uclibc/messages_members.h | 18 +++-----
17 .../config/locale/uclibc/monetary_members.cc | 4 --
18 .../config/locale/uclibc/numeric_members.cc | 3 --
19 libstdc++-v3/config/locale/uclibc/time_members.cc | 3 --
20 10 files changed, 55 insertions(+), 54 deletions(-)
2 21
3Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 22diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
4=================================================================== 23index 2ae3e4a..e74fddf 100644
5--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 24--- a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
6+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 25+++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
7@@ -60,4 +60,49 @@ extern "C" __typeof(wcsxfrm_l) __wcsxfrm 26@@ -60,4 +60,49 @@ extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
8 extern "C" __typeof(wctype_l) __wctype_l; 27 extern "C" __typeof(wctype_l) __wctype_l;
9 #endif 28 #endif
10 29
@@ -54,10 +73,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
54+# endif 73+# endif
55+ 74+
56 #endif // GLIBC 2.3 and later 75 #endif // GLIBC 2.3 and later
57Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 76diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.cc b/libstdc++-v3/config/locale/uclibc/c_locale.cc
58=================================================================== 77index 5081dc1..21430d0 100644
59--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 78--- a/libstdc++-v3/config/locale/uclibc/c_locale.cc
60+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 79+++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
61@@ -39,20 +39,6 @@ 80@@ -39,20 +39,6 @@
62 #include <langinfo.h> 81 #include <langinfo.h>
63 #include <bits/c++locale_internal.h> 82 #include <bits/c++locale_internal.h>
@@ -79,10 +98,22 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
79 namespace std 98 namespace std
80 { 99 {
81 template<> 100 template<>
82Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 101diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.h b/libstdc++-v3/config/locale/uclibc/c_locale.h
83=================================================================== 102index da07c1f..4bca5f1 100644
84--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/collate_members.cc 103--- a/libstdc++-v3/config/locale/uclibc/c_locale.h
85+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 104+++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
105@@ -68,6 +68,7 @@ namespace __gnu_cxx
106 {
107 extern "C" __typeof(uselocale) __uselocale;
108 }
109+#define __uselocale uselocale
110 #endif
111
112 namespace std
113diff --git a/libstdc++-v3/config/locale/uclibc/collate_members.cc b/libstdc++-v3/config/locale/uclibc/collate_members.cc
114index c2664a7..ec5c329 100644
115--- a/libstdc++-v3/config/locale/uclibc/collate_members.cc
116+++ b/libstdc++-v3/config/locale/uclibc/collate_members.cc
86@@ -36,13 +36,6 @@ 117@@ -36,13 +36,6 @@
87 #include <locale> 118 #include <locale>
88 #include <bits/c++locale_internal.h> 119 #include <bits/c++locale_internal.h>
@@ -97,53 +128,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
97 namespace std 128 namespace std
98 { 129 {
99 // These are basically extensions to char_traits, and perhaps should 130 // These are basically extensions to char_traits, and perhaps should
100Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 131diff --git a/libstdc++-v3/config/locale/uclibc/ctype_members.cc b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
101=================================================================== 132index 7294e3a..7b12861 100644
102--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 133--- a/libstdc++-v3/config/locale/uclibc/ctype_members.cc
103+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 134+++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
104@@ -43,10 +43,6 @@
105 #warning tailor for stub locale support
106 #endif
107
108-#ifndef __UCLIBC_HAS_XLOCALE__
109-#define __nl_langinfo_l(N, L) nl_langinfo((N))
110-#endif
111-
112 namespace std
113 {
114 // Construct and return valid pattern consisting of some combination of:
115Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
116===================================================================
117--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc
118+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
119@@ -41,9 +41,6 @@
120 #ifdef __UCLIBC_MJN3_ONLY__
121 #warning tailor for stub locale support
122 #endif
123-#ifndef __UCLIBC_HAS_XLOCALE__
124-#define __nl_langinfo_l(N, L) nl_langinfo((N))
125-#endif
126
127 namespace std
128 {
129Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc
130===================================================================
131--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.cc
132+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc
133@@ -40,9 +40,6 @@
134 #ifdef __UCLIBC_MJN3_ONLY__
135 #warning tailor for stub locale support
136 #endif
137-#ifndef __UCLIBC_HAS_XLOCALE__
138-#define __nl_langinfo_l(N, L) nl_langinfo((N))
139-#endif
140
141 namespace std
142 {
143Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
144===================================================================
145--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc
146+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
147@@ -38,13 +38,6 @@ 135@@ -38,13 +38,6 @@
148 #undef _LIBC 136 #undef _LIBC
149 #include <bits/c++locale_internal.h> 137 #include <bits/c++locale_internal.h>
@@ -158,10 +146,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
158 namespace std 146 namespace std
159 { 147 {
160 // NB: The other ctype<char> specializations are in src/locale.cc and 148 // NB: The other ctype<char> specializations are in src/locale.cc and
161Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 149diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.cc b/libstdc++-v3/config/locale/uclibc/messages_members.cc
162=================================================================== 150index 13594d9..d7693b4 100644
163--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members.cc 151--- a/libstdc++-v3/config/locale/uclibc/messages_members.cc
164+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 152+++ b/libstdc++-v3/config/locale/uclibc/messages_members.cc
165@@ -39,13 +39,10 @@ 153@@ -39,13 +39,10 @@
166 #ifdef __UCLIBC_MJN3_ONLY__ 154 #ifdef __UCLIBC_MJN3_ONLY__
167 #warning fix gettext stuff 155 #warning fix gettext stuff
@@ -178,10 +166,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
178 #define gettext(msgid) (msgid) 166 #define gettext(msgid) (msgid)
179 #endif 167 #endif
180 168
181Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h 169diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
182=================================================================== 170index 1424078..d89da33 100644
183--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 171--- a/libstdc++-v3/config/locale/uclibc/messages_members.h
184+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h 172+++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
185@@ -36,15 +36,11 @@ 173@@ -36,15 +36,11 @@
186 #ifdef __UCLIBC_MJN3_ONLY__ 174 #ifdef __UCLIBC_MJN3_ONLY__
187 #warning fix prototypes for *textdomain funcs 175 #warning fix prototypes for *textdomain funcs
@@ -203,7 +191,7 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h
203 #endif 191 #endif
204 192
205 // Non-virtual member functions. 193 // Non-virtual member functions.
206@@ -70,7 +66,7 @@ extern "C" char *__bindtextdomain(const 194@@ -70,7 +66,7 @@ extern "C" char *__bindtextdomain(const char *domainname,
207 messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc, 195 messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
208 const char* __dir) const 196 const char* __dir) const
209 { 197 {
@@ -212,7 +200,7 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h
212 return this->do_open(__s, __loc); 200 return this->do_open(__s, __loc);
213 } 201 }
214 202
215@@ -90,7 +86,7 @@ extern "C" char *__bindtextdomain(const 203@@ -90,7 +86,7 @@ extern "C" char *__bindtextdomain(const char *domainname,
216 { 204 {
217 // No error checking is done, assume the catalog exists and can 205 // No error checking is done, assume the catalog exists and can
218 // be used. 206 // be used.
@@ -221,15 +209,49 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h
221 return 0; 209 return 0;
222 } 210 }
223 211
224Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h 212diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
225=================================================================== 213index aa52731..2e6f80a 100644
226--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 214--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
227+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h 215+++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
228@@ -68,6 +68,7 @@ namespace __gnu_cxx 216@@ -43,10 +43,6 @@
217 #warning tailor for stub locale support
218 #endif
219
220-#ifndef __UCLIBC_HAS_XLOCALE__
221-#define __nl_langinfo_l(N, L) nl_langinfo((N))
222-#endif
223-
224 namespace std
229 { 225 {
230 extern "C" __typeof(uselocale) __uselocale; 226 // Construct and return valid pattern consisting of some combination of:
231 } 227diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
232+#define __uselocale uselocale 228index 883ec1a..2c70642 100644
229--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
230+++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
231@@ -41,9 +41,6 @@
232 #ifdef __UCLIBC_MJN3_ONLY__
233 #warning tailor for stub locale support
234 #endif
235-#ifndef __UCLIBC_HAS_XLOCALE__
236-#define __nl_langinfo_l(N, L) nl_langinfo((N))
237-#endif
238
239 namespace std
240 {
241diff --git a/libstdc++-v3/config/locale/uclibc/time_members.cc b/libstdc++-v3/config/locale/uclibc/time_members.cc
242index e0707d7..d848ed5 100644
243--- a/libstdc++-v3/config/locale/uclibc/time_members.cc
244+++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
245@@ -40,9 +40,6 @@
246 #ifdef __UCLIBC_MJN3_ONLY__
247 #warning tailor for stub locale support
233 #endif 248 #endif
249-#ifndef __UCLIBC_HAS_XLOCALE__
250-#define __nl_langinfo_l(N, L) nl_langinfo((N))
251-#endif
234 252
235 namespace std 253 namespace std
254 {
255--
2561.7.10.4
257
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/204-uclibc-locale-wchar_fix.patch b/meta/recipes-devtools/gcc/gcc-4.8/0006-uclibc-locale-wchar_fix.patch
index 896d2a57c7..3406859e11 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/204-uclibc-locale-wchar_fix.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0006-uclibc-locale-wchar_fix.patch
@@ -1,9 +1,20 @@
1From 225511a3aeb193a916b3999f0b640a392caa67cd Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:45:57 +0400
4Subject: [PATCH 06/35] uclibc-locale-wchar_fix
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
1Upstream-Status: Pending 8Upstream-Status: Pending
9---
10 libstdc++-v3/config/locale/uclibc/monetary_members.cc | 4 ++--
11 libstdc++-v3/config/locale/uclibc/numeric_members.cc | 13 +++++++++++++
12 2 files changed, 15 insertions(+), 2 deletions(-)
2 13
3Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 14diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
4=================================================================== 15index 2e6f80a..31ebb9f 100644
5--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 16--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
6+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 17+++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
7@@ -401,7 +401,7 @@ namespace std 18@@ -401,7 +401,7 @@ namespace std
8 # ifdef __UCLIBC_HAS_XLOCALE__ 19 # ifdef __UCLIBC_HAS_XLOCALE__
9 _M_data->_M_decimal_point = __cloc->decimal_point_wc; 20 _M_data->_M_decimal_point = __cloc->decimal_point_wc;
@@ -22,10 +33,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
22 _M_data->_M_decimal_point = __global_locale->decimal_point_wc; 33 _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
23 _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc; 34 _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
24 # endif 35 # endif
25Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 36diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
26=================================================================== 37index 2c70642..d5c8961 100644
27--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 38--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
28+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 39+++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
29@@ -127,12 +127,25 @@ namespace std 40@@ -127,12 +127,25 @@ namespace std
30 { 41 {
31 // Named locale. 42 // Named locale.
@@ -52,3 +63,6 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
52 63
53 if (_M_data->_M_thousands_sep == L'\0') 64 if (_M_data->_M_thousands_sep == L'\0')
54 _M_data->_M_grouping = ""; 65 _M_data->_M_grouping = "";
66--
671.7.10.4
68
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/205-uclibc-locale-update.patch b/meta/recipes-devtools/gcc/gcc-4.8/0007-uclibc-locale-update.patch
index 743017b4d3..58511233d7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/205-uclibc-locale-update.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0007-uclibc-locale-update.patch
@@ -1,9 +1,41 @@
1From 6ffe7c46f52d27864c3df3663e16ec9ddee71e8f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:46:58 +0400
4Subject: [PATCH 07/35] uclibc-locale-update
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
1Upstream-Status: Pending 8Upstream-Status: Pending
9---
10 .../config/locale/uclibc/c++locale_internal.h | 3 +
11 libstdc++-v3/config/locale/uclibc/c_locale.cc | 74 +++++++++-----------
12 libstdc++-v3/config/locale/uclibc/c_locale.h | 42 ++++++-----
13 libstdc++-v3/config/locale/uclibc/ctype_members.cc | 51 ++++++++++----
14 .../config/locale/uclibc/messages_members.h | 12 ++--
15 .../config/locale/uclibc/monetary_members.cc | 34 +++++----
16 .../config/locale/uclibc/numeric_members.cc | 5 ++
17 libstdc++-v3/config/locale/uclibc/time_members.cc | 18 +++--
18 libstdc++-v3/config/locale/uclibc/time_members.h | 17 +++--
19 9 files changed, 158 insertions(+), 98 deletions(-)
2 20
3Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 21diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
4=================================================================== 22index e74fddf..971a6b4 100644
5--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 23--- a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
6+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 24+++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
25@@ -31,6 +31,9 @@
26
27 #include <bits/c++config.h>
28 #include <clocale>
29+#include <cstdlib>
30+#include <cstring>
31+#include <cstddef>
32
33 #ifdef __UCLIBC_MJN3_ONLY__
34 #warning clean this up
35diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.cc b/libstdc++-v3/config/locale/uclibc/c_locale.cc
36index 21430d0..1b9d8e1 100644
37--- a/libstdc++-v3/config/locale/uclibc/c_locale.cc
38+++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
7@@ -39,23 +39,20 @@ 39@@ -39,23 +39,20 @@
8 #include <langinfo.h> 40 #include <langinfo.h>
9 #include <bits/c++locale_internal.h> 41 #include <bits/c++locale_internal.h>
@@ -124,10 +156,92 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
124-} // namespace std 156-} // namespace std
125+ 157+
126+_GLIBCXX_END_NAMESPACE 158+_GLIBCXX_END_NAMESPACE
127Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 159diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.h b/libstdc++-v3/config/locale/uclibc/c_locale.h
128=================================================================== 160index 4bca5f1..64a6d46 100644
129--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 161--- a/libstdc++-v3/config/locale/uclibc/c_locale.h
130+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 162+++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
163@@ -39,21 +39,23 @@
164 #pragma GCC system_header
165
166 #include <cstring> // get std::strlen
167-#include <cstdio> // get std::snprintf or std::sprintf
168+#include <cstdio> // get std::vsnprintf or std::vsprintf
169 #include <clocale>
170 #include <langinfo.h> // For codecvt
171 #ifdef __UCLIBC_MJN3_ONLY__
172 #warning fix this
173 #endif
174-#ifdef __UCLIBC_HAS_LOCALE__
175+#ifdef _GLIBCXX_USE_ICONV
176 #include <iconv.h> // For codecvt using iconv, iconv_t
177 #endif
178-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
179-#include <libintl.h> // For messages
180+#ifdef HAVE_LIBINTL_H
181+#include <libintl.h> // For messages
182 #endif
183+#include <cstdarg>
184
185 #ifdef __UCLIBC_MJN3_ONLY__
186 #warning what is _GLIBCXX_C_LOCALE_GNU for
187+// psm: used in os/gnu-linux/ctype_noninline.h
188 #endif
189 #define _GLIBCXX_C_LOCALE_GNU 1
190
191@@ -78,23 +80,25 @@ namespace std
192 #else
193 typedef int* __c_locale;
194 #endif
195-
196- // Convert numeric value of type _Tv to string and return length of
197- // string. If snprintf is available use it, otherwise fall back to
198- // the unsafe sprintf which, in general, can be dangerous and should
199+ // Convert numeric value of type double to string and return length of
200+ // string. If vsnprintf is available use it, otherwise fall back to
201+ // the unsafe vsprintf which, in general, can be dangerous and should
202 // be avoided.
203- template<typename _Tv>
204- int
205- __convert_from_v(char* __out,
206- const int __size __attribute__ ((__unused__)),
207- const char* __fmt,
208-#ifdef __UCLIBC_HAS_XCLOCALE__
209- _Tv __v, const __c_locale& __cloc, int __prec)
210+ inline int
211+ __convert_from_v(const __c_locale&
212+#ifndef __UCLIBC_HAS_XCLOCALE__
213+ __cloc __attribute__ ((__unused__))
214+#endif
215+ ,
216+ char* __out,
217+ const int __size,
218+ const char* __fmt, ...)
219 {
220+ va_list __args;
221+#ifdef __UCLIBC_HAS_XCLOCALE__
222+
223 __c_locale __old = __gnu_cxx::__uselocale(__cloc);
224 #else
225- _Tv __v, const __c_locale&, int __prec)
226- {
227 # ifdef __UCLIBC_HAS_LOCALE__
228 char* __old = std::setlocale(LC_ALL, NULL);
229 char* __sav = new char[std::strlen(__old) + 1];
230@@ -103,7 +107,9 @@ namespace std
231 # endif
232 #endif
233
234- const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
235+ va_start(__args, __fmt);
236+ const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
237+ va_end(__args);
238
239 #ifdef __UCLIBC_HAS_XCLOCALE__
240 __gnu_cxx::__uselocale(__old);
241diff --git a/libstdc++-v3/config/locale/uclibc/ctype_members.cc b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
242index 7b12861..13e011d 100644
243--- a/libstdc++-v3/config/locale/uclibc/ctype_members.cc
244+++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
131@@ -33,16 +33,20 @@ 245@@ -33,16 +33,20 @@
132 246
133 // Written by Benjamin Kosnik <bkoz@redhat.com> 247 // Written by Benjamin Kosnik <bkoz@redhat.com>
@@ -212,10 +326,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
212-} 326-}
213+ 327+
214+_GLIBCXX_END_NAMESPACE 328+_GLIBCXX_END_NAMESPACE
215Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h 329diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
216=================================================================== 330index d89da33..067657a 100644
217--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 331--- a/libstdc++-v3/config/locale/uclibc/messages_members.h
218+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h 332+++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
219@@ -53,12 +53,16 @@ 333@@ -53,12 +53,16 @@
220 template<typename _CharT> 334 template<typename _CharT>
221 messages<_CharT>::messages(__c_locale __cloc, const char* __s, 335 messages<_CharT>::messages(__c_locale __cloc, const char* __s,
@@ -237,10 +351,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h
237 } 351 }
238 352
239 template<typename _CharT> 353 template<typename _CharT>
240Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 354diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
241=================================================================== 355index 31ebb9f..7679b9c 100644
242--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 356--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
243+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 357+++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
244@@ -33,9 +33,14 @@ 358@@ -33,9 +33,14 @@
245 359
246 // Written by Benjamin Kosnik <bkoz@redhat.com> 360 // Written by Benjamin Kosnik <bkoz@redhat.com>
@@ -334,10 +448,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
334 #endif 448 #endif
335 } 449 }
336 } 450 }
337Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 451diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
338=================================================================== 452index d5c8961..8ae8969 100644
339--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 453--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
340+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 454+++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
341@@ -33,9 +33,14 @@ 455@@ -33,9 +33,14 @@
342 456
343 // Written by Benjamin Kosnik <bkoz@redhat.com> 457 // Written by Benjamin Kosnik <bkoz@redhat.com>
@@ -353,122 +467,10 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
353 #include <bits/c++locale_internal.h> 467 #include <bits/c++locale_internal.h>
354 468
355 #ifdef __UCLIBC_MJN3_ONLY__ 469 #ifdef __UCLIBC_MJN3_ONLY__
356Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h 470diff --git a/libstdc++-v3/config/locale/uclibc/time_members.cc b/libstdc++-v3/config/locale/uclibc/time_members.cc
357=================================================================== 471index d848ed5..f24d53e 100644
358--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.h 472--- a/libstdc++-v3/config/locale/uclibc/time_members.cc
359+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h 473+++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
360@@ -50,12 +50,21 @@
361 __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
362 size_t __refs)
363 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
364- _M_name_timepunct(__s)
365+ _M_name_timepunct(NULL)
366 {
367- char* __tmp = new char[std::strlen(__s) + 1];
368- std::strcpy(__tmp, __s);
369+ const size_t __len = std::strlen(__s) + 1;
370+ char* __tmp = new char[__len];
371+ std::memcpy(__tmp, __s, __len);
372 _M_name_timepunct = __tmp;
373- _M_initialize_timepunct(__cloc);
374+
375+ try
376+ { _M_initialize_timepunct(__cloc); }
377+ catch(...)
378+ {
379+ delete [] _M_name_timepunct;
380+ __throw_exception_again;
381+ }
382+
383 }
384
385 template<typename _CharT>
386Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h
387===================================================================
388--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.h
389+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h
390@@ -39,21 +39,23 @@
391 #pragma GCC system_header
392
393 #include <cstring> // get std::strlen
394-#include <cstdio> // get std::snprintf or std::sprintf
395+#include <cstdio> // get std::vsnprintf or std::vsprintf
396 #include <clocale>
397 #include <langinfo.h> // For codecvt
398 #ifdef __UCLIBC_MJN3_ONLY__
399 #warning fix this
400 #endif
401-#ifdef __UCLIBC_HAS_LOCALE__
402+#ifdef _GLIBCXX_USE_ICONV
403 #include <iconv.h> // For codecvt using iconv, iconv_t
404 #endif
405-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
406-#include <libintl.h> // For messages
407+#ifdef HAVE_LIBINTL_H
408+#include <libintl.h> // For messages
409 #endif
410+#include <cstdarg>
411
412 #ifdef __UCLIBC_MJN3_ONLY__
413 #warning what is _GLIBCXX_C_LOCALE_GNU for
414+// psm: used in os/gnu-linux/ctype_noninline.h
415 #endif
416 #define _GLIBCXX_C_LOCALE_GNU 1
417
418@@ -78,23 +80,25 @@ namespace std
419 #else
420 typedef int* __c_locale;
421 #endif
422-
423- // Convert numeric value of type _Tv to string and return length of
424- // string. If snprintf is available use it, otherwise fall back to
425- // the unsafe sprintf which, in general, can be dangerous and should
426+ // Convert numeric value of type double to string and return length of
427+ // string. If vsnprintf is available use it, otherwise fall back to
428+ // the unsafe vsprintf which, in general, can be dangerous and should
429 // be avoided.
430- template<typename _Tv>
431- int
432- __convert_from_v(char* __out,
433- const int __size __attribute__ ((__unused__)),
434- const char* __fmt,
435-#ifdef __UCLIBC_HAS_XCLOCALE__
436- _Tv __v, const __c_locale& __cloc, int __prec)
437+ inline int
438+ __convert_from_v(const __c_locale&
439+#ifndef __UCLIBC_HAS_XCLOCALE__
440+ __cloc __attribute__ ((__unused__))
441+#endif
442+ ,
443+ char* __out,
444+ const int __size,
445+ const char* __fmt, ...)
446 {
447+ va_list __args;
448+#ifdef __UCLIBC_HAS_XCLOCALE__
449+
450 __c_locale __old = __gnu_cxx::__uselocale(__cloc);
451 #else
452- _Tv __v, const __c_locale&, int __prec)
453- {
454 # ifdef __UCLIBC_HAS_LOCALE__
455 char* __old = std::setlocale(LC_ALL, NULL);
456 char* __sav = new char[std::strlen(__old) + 1];
457@@ -103,7 +107,9 @@ namespace std
458 # endif
459 #endif
460
461- const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
462+ va_start(__args, __fmt);
463+ const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
464+ va_end(__args);
465
466 #ifdef __UCLIBC_HAS_XCLOCALE__
467 __gnu_cxx::__uselocale(__old);
468Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc
469===================================================================
470--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.cc
471+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc
472@@ -53,11 +53,14 @@ namespace std 474@@ -53,11 +53,14 @@ namespace std
473 const size_t __len = __strftime_l(__s, __maxlen, __format, __tm, 475 const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
474 _M_c_locale_timepunct); 476 _M_c_locale_timepunct);
@@ -505,17 +507,36 @@ Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc
505 #endif 507 #endif
506 // Make sure __s is null terminated. 508 // Make sure __s is null terminated.
507 if (__len == 0) 509 if (__len == 0)
508Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 510diff --git a/libstdc++-v3/config/locale/uclibc/time_members.h b/libstdc++-v3/config/locale/uclibc/time_members.h
509=================================================================== 511index ba8e858..1665dde 100644
510--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 512--- a/libstdc++-v3/config/locale/uclibc/time_members.h
511+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 513+++ b/libstdc++-v3/config/locale/uclibc/time_members.h
512@@ -31,6 +31,9 @@ 514@@ -50,12 +50,21 @@
513 515 __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
514 #include <bits/c++config.h> 516 size_t __refs)
515 #include <clocale> 517 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
516+#include <cstdlib> 518- _M_name_timepunct(__s)
517+#include <cstring> 519+ _M_name_timepunct(NULL)
518+#include <cstddef> 520 {
521- char* __tmp = new char[std::strlen(__s) + 1];
522- std::strcpy(__tmp, __s);
523+ const size_t __len = std::strlen(__s) + 1;
524+ char* __tmp = new char[__len];
525+ std::memcpy(__tmp, __s, __len);
526 _M_name_timepunct = __tmp;
527- _M_initialize_timepunct(__cloc);
528+
529+ try
530+ { _M_initialize_timepunct(__cloc); }
531+ catch(...)
532+ {
533+ delete [] _M_name_timepunct;
534+ __throw_exception_again;
535+ }
536+
537 }
519 538
520 #ifdef __UCLIBC_MJN3_ONLY__ 539 template<typename _CharT>
521 #warning clean this up 540--
5411.7.10.4
542
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0008-missing-execinfo_h.patch b/meta/recipes-devtools/gcc/gcc-4.8/0008-missing-execinfo_h.patch
new file mode 100644
index 0000000000..282380934a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0008-missing-execinfo_h.patch
@@ -0,0 +1,28 @@
1From 9f2158451981cf0a80cfabdc79ae31bb6976a801 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:48:10 +0400
4Subject: [PATCH 08/35] missing-execinfo_h
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9---
10 boehm-gc/include/gc.h | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/boehm-gc/include/gc.h b/boehm-gc/include/gc.h
14index c51e017..a7ba8dc 100644
15--- a/boehm-gc/include/gc.h
16+++ b/boehm-gc/include/gc.h
17@@ -503,7 +503,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb));
18 #if defined(__linux__) || defined(__GLIBC__)
19 # include <features.h>
20 # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
21- && !defined(__ia64__)
22+ && !defined(__ia64__) && !defined(__UCLIBC__)
23 # ifndef GC_HAVE_BUILTIN_BACKTRACE
24 # define GC_HAVE_BUILTIN_BACKTRACE
25 # endif
26--
271.7.10.4
28
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0009-c99-snprintf.patch b/meta/recipes-devtools/gcc/gcc-4.8/0009-c99-snprintf.patch
new file mode 100644
index 0000000000..7168778df4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0009-c99-snprintf.patch
@@ -0,0 +1,28 @@
1From e393e076f1ab82d25e1aa04d6edea27b41d3eb06 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:49:03 +0400
4Subject: [PATCH 09/35] c99-snprintf
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9---
10 libstdc++-v3/include/c_std/cstdio | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio
14index e85bd83..6af839a 100644
15--- a/libstdc++-v3/include/c_std/cstdio
16+++ b/libstdc++-v3/include/c_std/cstdio
17@@ -139,7 +139,7 @@ namespace std
18 using ::vsprintf;
19 } // namespace std
20
21-#if _GLIBCXX_USE_C99
22+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
23
24 #undef snprintf
25 #undef vfscanf
26--
271.7.10.4
28
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0010-c99-complex-ugly-hack.patch b/meta/recipes-devtools/gcc/gcc-4.8/0010-c99-complex-ugly-hack.patch
new file mode 100644
index 0000000000..b628571e5d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0010-c99-complex-ugly-hack.patch
@@ -0,0 +1,29 @@
1From 73f69d806e2c9561a54995223431a1076cfd6164 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:49:57 +0400
4Subject: [PATCH 10/35] c99-complex-ugly-hack
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Inappropriate [embedded specific]
9---
10 libstdc++-v3/configure | 3 +++
11 1 file changed, 3 insertions(+)
12
13diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
14index c57a751..a1333e2 100755
15--- a/libstdc++-v3/configure
16+++ b/libstdc++-v3/configure
17@@ -18734,6 +18734,9 @@ $as_echo_n "checking for ISO C99 support to TR1 in <complex.h>... " >&6; }
18 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19 /* end confdefs.h. */
20 #include <complex.h>
21+#ifdef __UCLIBC__
22+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
23+#endif
24 int
25 main ()
26 {
27--
281.7.10.4
29
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0011-index_macro.patch b/meta/recipes-devtools/gcc/gcc-4.8/0011-index_macro.patch
new file mode 100644
index 0000000000..8ee79b09b4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0011-index_macro.patch
@@ -0,0 +1,44 @@
1From b037953e40312b45ab84ed0a3ad882bb5e413101 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:51:02 +0400
4Subject: [PATCH 11/35] index_macro
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9---
10 libstdc++-v3/include/ext/rope | 3 +++
11 libstdc++-v3/include/ext/ropeimpl.h | 3 +++
12 2 files changed, 6 insertions(+)
13
14diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
15index 38eb1e8..158d21a 100644
16--- a/libstdc++-v3/include/ext/rope
17+++ b/libstdc++-v3/include/ext/rope
18@@ -55,6 +55,9 @@
19 #include <bits/gthr.h>
20 #include <tr1/functional>
21
22+/* cope w/ index defined as macro, SuSv3 proposal */
23+#undef index
24+
25 # ifdef __GC
26 # define __GC_CONST const
27 # else
28diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
29index d7b5cbd..b9b3acb 100644
30--- a/libstdc++-v3/include/ext/ropeimpl.h
31+++ b/libstdc++-v3/include/ext/ropeimpl.h
32@@ -48,6 +48,9 @@
33 #include <ext/memory> // For uninitialized_copy_n
34 #include <ext/numeric> // For power
35
36+/* cope w/ index defined as macro, SuSv3 proposal */
37+#undef index
38+
39 namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
40 {
41 _GLIBCXX_BEGIN_NAMESPACE_VERSION
42--
431.7.10.4
44
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/305-libmudflap-susv3-legacy.patch b/meta/recipes-devtools/gcc/gcc-4.8/0012-libmudflap-susv3-legacy.patch
index 10d09a7fb9..968d45e84d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/305-libmudflap-susv3-legacy.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0012-libmudflap-susv3-legacy.patch
@@ -1,10 +1,20 @@
1From a0cb13bdd98a941b81fdafe4cd96e4c569feb651 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:52:36 +0400
4Subject: [PATCH 12/35] libmudflap-susv3-legacy
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
1Upstream-Status: Inappropriate [embedded specific] 8Upstream-Status: Inappropriate [embedded specific]
9---
10 libmudflap/mf-hooks2.c | 10 +++++-----
11 1 file changed, 5 insertions(+), 5 deletions(-)
2 12
3Index: gcc-4_7-branch/libmudflap/mf-hooks2.c 13diff --git a/libmudflap/mf-hooks2.c b/libmudflap/mf-hooks2.c
4=================================================================== 14index 4af17df..a3c6b2f 100644
5--- gcc-4_7-branch.orig/libmudflap/mf-hooks2.c 2012-04-10 10:19:49.391337079 -0700 15--- a/libmudflap/mf-hooks2.c
6+++ gcc-4_7-branch/libmudflap/mf-hooks2.c 2012-04-10 10:31:53.191372119 -0700 16+++ b/libmudflap/mf-hooks2.c
7@@ -424,7 +424,7 @@ 17@@ -424,7 +424,7 @@ WRAPPER2(void, bzero, void *s, size_t n)
8 { 18 {
9 TRACE ("%s\n", __PRETTY_FUNCTION__); 19 TRACE ("%s\n", __PRETTY_FUNCTION__);
10 MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); 20 MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
@@ -13,7 +23,7 @@ Index: gcc-4_7-branch/libmudflap/mf-hooks2.c
13 } 23 }
14 24
15 25
16@@ -434,7 +434,7 @@ 26@@ -434,7 +434,7 @@ WRAPPER2(void, bcopy, const void *src, void *dest, size_t n)
17 TRACE ("%s\n", __PRETTY_FUNCTION__); 27 TRACE ("%s\n", __PRETTY_FUNCTION__);
18 MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); 28 MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
19 MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); 29 MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
@@ -22,7 +32,7 @@ Index: gcc-4_7-branch/libmudflap/mf-hooks2.c
22 } 32 }
23 33
24 34
25@@ -444,7 +444,7 @@ 35@@ -444,7 +444,7 @@ WRAPPER2(int, bcmp, const void *s1, const void *s2, size_t n)
26 TRACE ("%s\n", __PRETTY_FUNCTION__); 36 TRACE ("%s\n", __PRETTY_FUNCTION__);
27 MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); 37 MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
28 MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); 38 MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
@@ -31,7 +41,7 @@ Index: gcc-4_7-branch/libmudflap/mf-hooks2.c
31 } 41 }
32 42
33 43
34@@ -453,7 +453,7 @@ 44@@ -453,7 +453,7 @@ WRAPPER2(char *, index, const char *s, int c)
35 size_t n = strlen (s); 45 size_t n = strlen (s);
36 TRACE ("%s\n", __PRETTY_FUNCTION__); 46 TRACE ("%s\n", __PRETTY_FUNCTION__);
37 MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); 47 MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
@@ -40,7 +50,7 @@ Index: gcc-4_7-branch/libmudflap/mf-hooks2.c
40 } 50 }
41 51
42 52
43@@ -462,7 +462,7 @@ 53@@ -462,7 +462,7 @@ WRAPPER2(char *, rindex, const char *s, int c)
44 size_t n = strlen (s); 54 size_t n = strlen (s);
45 TRACE ("%s\n", __PRETTY_FUNCTION__); 55 TRACE ("%s\n", __PRETTY_FUNCTION__);
46 MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); 56 MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
@@ -49,3 +59,6 @@ Index: gcc-4_7-branch/libmudflap/mf-hooks2.c
49 } 59 }
50 60
51 /* XXX: stpcpy, memccpy */ 61 /* XXX: stpcpy, memccpy */
62--
631.7.10.4
64
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0013-libstdc-namespace.patch b/meta/recipes-devtools/gcc/gcc-4.8/0013-libstdc-namespace.patch
new file mode 100644
index 0000000000..4a3efdebd8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0013-libstdc-namespace.patch
@@ -0,0 +1,54 @@
1From 104e4d66208f2726b14d2f5eebce90700cbc83c8 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:54:02 +0400
4Subject: [PATCH 13/35] libstdc++-namespace
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9---
10 libstdc++-v3/config/locale/uclibc/messages_members.h | 4 +++-
11 libstdc++-v3/config/locale/uclibc/time_members.h | 4 +++-
12 2 files changed, 6 insertions(+), 2 deletions(-)
13
14diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
15index 067657a..dd76a6c 100644
16--- a/libstdc++-v3/config/locale/uclibc/messages_members.h
17+++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
18@@ -32,7 +32,8 @@
19 //
20
21 // Written by Benjamin Kosnik <bkoz@redhat.com>
22-
23+namespace std
24+{
25 #ifdef __UCLIBC_MJN3_ONLY__
26 #warning fix prototypes for *textdomain funcs
27 #endif
28@@ -116,3 +117,4 @@
29 this->_S_create_c_locale(this->_M_c_locale_messages, __s);
30 }
31 }
32+}
33diff --git a/libstdc++-v3/config/locale/uclibc/time_members.h b/libstdc++-v3/config/locale/uclibc/time_members.h
34index 1665dde..905c433 100644
35--- a/libstdc++-v3/config/locale/uclibc/time_members.h
36+++ b/libstdc++-v3/config/locale/uclibc/time_members.h
37@@ -33,7 +33,8 @@
38 //
39
40 // Written by Benjamin Kosnik <bkoz@redhat.com>
41-
42+namespace std
43+{
44 template<typename _CharT>
45 __timepunct<_CharT>::__timepunct(size_t __refs)
46 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
47@@ -75,3 +76,4 @@
48 delete _M_data;
49 _S_destroy_c_locale(_M_c_locale_timepunct);
50 }
51+}
52--
531.7.10.4
54
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0014-sh-pr24836.patch b/meta/recipes-devtools/gcc/gcc-4.8/0014-sh-pr24836.patch
new file mode 100644
index 0000000000..cb8fd525b2
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0014-sh-pr24836.patch
@@ -0,0 +1,45 @@
1From edc9acb181810f234b6b9f7d2820b0e4f6a1eeaf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:54:48 +0400
4Subject: [PATCH 14/35] sh-pr24836
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9
10http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
11http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
12---
13 gcc/configure | 2 +-
14 gcc/configure.ac | 2 +-
15 2 files changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/gcc/configure b/gcc/configure
18index e12a180..135bbf5 100755
19--- a/gcc/configure
20+++ b/gcc/configure
21@@ -23378,7 +23378,7 @@ foo: .long 25
22 tls_first_minor=14
23 tls_as_opt="-m64 -Aesame --fatal-warnings"
24 ;;
25- sh-*-* | sh[34]-*-*)
26+ sh-*-* | sh[34]*-*-*)
27 conftest_s='
28 .section ".tdata","awT",@progbits
29 foo: .long 25
30diff --git a/gcc/configure.ac b/gcc/configure.ac
31index eba3577..6363a21 100644
32--- a/gcc/configure.ac
33+++ b/gcc/configure.ac
34@@ -3141,7 +3141,7 @@ foo: .long 25
35 tls_first_minor=14
36 tls_as_opt="-m64 -Aesame --fatal-warnings"
37 ;;
38- sh-*-* | sh[34]-*-*)
39+ sh-*-* | sh[34]*-*-*)
40 conftest_s='
41 .section ".tdata","awT",@progbits
42 foo: .long 25
43--
441.7.10.4
45
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch b/meta/recipes-devtools/gcc/gcc-4.8/0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch
new file mode 100644
index 0000000000..1081222f61
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0015-arm-Use-TARGET_ENDIAN_OPTION-for-determining-MULTILI.patch
@@ -0,0 +1,29 @@
1From 50e5366005b0f6af27378e2a5c3cb9f9936a7e62 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:58:36 +0400
4Subject: [PATCH 15/35] arm: Use TARGET_ENDIAN_OPTION for determining
5 MULTILIB_DEFAULTS
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8
9Upstream-Status: Pending
10---
11 gcc/config/arm/linux-elf.h | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
15index 488efa4..753dc3a 100644
16--- a/gcc/config/arm/linux-elf.h
17+++ b/gcc/config/arm/linux-elf.h
18@@ -46,7 +46,7 @@
19
20 #undef MULTILIB_DEFAULTS
21 #define MULTILIB_DEFAULTS \
22- { "marm", "mlittle-endian", "mfloat-abi=hard", "mno-thumb-interwork" }
23+ { "marm", TARGET_ENDIAN_OPTION, "mfloat-abi=hard", "mno-thumb-interwork" }
24
25 /* Now we define the strings used to build the spec file. */
26 #undef LIB_SPEC
27--
281.7.10.4
29
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-poison-system-directories.patch b/meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch
index afb98d7336..1e2a9e1009 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-poison-system-directories.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0016-gcc-poison-system-directories.patch
@@ -1,37 +1,40 @@
1Upstream-Status: Inappropriate [distribution: codesourcery] 1From 160397ef3c3331099af028f1b8d3e085b07d88ad Mon Sep 17 00:00:00 2001
2 2From: Khem Raj <raj.khem@gmail.com>
3 gcc/ 3Date: Fri, 29 Mar 2013 08:59:00 +0400
4 2008-07-02 Joseph Myers <joseph@codesourcery.com> 4Subject: [PATCH 16/35] gcc: poison-system-directories
5 * c-incpath.c: Include toplev.h.
6 (merge_include_chains): Use warning instead of cpp_error for
7 system directory poisoning diagnostic.
8 * Makefile.in (c-incpath.o): Depend on toplev.h.
9 * gcc.c (LINK_COMMAND_SPEC): Pass
10 --error-poison-system-directories if
11 -Werror=poison-system-directories.
12 5
13 2007-06-13 Joseph Myers <joseph@codesourcery.com> 6Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 * common.opt (--Wno-poison-system-directories): New.
15 * doc/invoke.texi (-Wno-poison-system-directories): Document.
16 * c-incpath.c: Include flags.h.
17 (merge_include_chains): Check flag_poison_system_directories.
18 * gcc.c (LINK_COMMAND_SPEC): Pass --no-poison-system-directories
19 to linker if -Wno-poison-system-directories.
20 * Makefile.in (c-incpath.o): Depend on $(FLAGS_H).
21 7
22 2007-03-20 Daniel Jacobowitz <dan@codesourcery.com> 8Upstream-Status: Inappropriate [distribution: codesourcery]
23 Joseph Myers <joseph@codesourcery.com> 9---
24 * configure.ac (--enable-poison-system-directories): New option. 10 gcc/Makefile.in | 2 +-
25 * configure, config.in: Regenerate. 11 gcc/common.opt | 4 ++++
26 * c-incpath.c (merge_include_chains): If 12 gcc/config.in | 6 ++++++
27 ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of 13 gcc/configure | 20 ++++++++++++++++++--
28 /usr/include, /usr/local/include or /usr/X11R6/include. 14 gcc/configure.ac | 10 ++++++++++
15 gcc/doc/invoke.texi | 9 +++++++++
16 gcc/gcc.c | 2 ++
17 gcc/incpath.c | 19 +++++++++++++++++++
18 8 files changed, 69 insertions(+), 3 deletions(-)
29 19
30Index: gcc-4.8.0/gcc/common.opt 20diff --git a/gcc/Makefile.in b/gcc/Makefile.in
31=================================================================== 21index 54ea04f..90a2bba 100644
32--- gcc-4.8.0.orig/gcc/common.opt 2013-03-26 14:10:58.485914988 -0700 22--- a/gcc/Makefile.in
33+++ gcc-4.8.0/gcc/common.opt 2013-03-26 14:11:01.893915049 -0700 23+++ b/gcc/Makefile.in
34@@ -595,6 +595,10 @@ 24@@ -2018,7 +2018,7 @@ attribs.o : attribs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
25
26 incpath.o: incpath.c incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
27 intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \
28- $(MACHMODE_H)
29+ $(MACHMODE_H) $(FLAGS_H) toplev.h
30
31 CFLAGS-prefix.o += -DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s)
32 prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h prefix.h \
33diff --git a/gcc/common.opt b/gcc/common.opt
34index bdbd3b6..ab86b00 100644
35--- a/gcc/common.opt
36+++ b/gcc/common.opt
37@@ -595,6 +595,10 @@ Wpedantic
35 Common Var(pedantic) Warning 38 Common Var(pedantic) Warning
36 Issue warnings needed for strict compliance to the standard 39 Issue warnings needed for strict compliance to the standard
37 40
@@ -42,10 +45,10 @@ Index: gcc-4.8.0/gcc/common.opt
42 Wshadow 45 Wshadow
43 Common Var(warn_shadow) Warning 46 Common Var(warn_shadow) Warning
44 Warn when one local variable shadows another 47 Warn when one local variable shadows another
45Index: gcc-4.8.0/gcc/config.in 48diff --git a/gcc/config.in b/gcc/config.in
46=================================================================== 49index d80fb9f..0524af7 100644
47--- gcc-4.8.0.orig/gcc/config.in 2013-03-26 14:10:58.485914988 -0700 50--- a/gcc/config.in
48+++ gcc-4.8.0/gcc/config.in 2013-03-26 14:11:01.893915049 -0700 51+++ b/gcc/config.in
49@@ -138,6 +138,12 @@ 52@@ -138,6 +138,12 @@
50 #endif 53 #endif
51 54
@@ -59,11 +62,70 @@ Index: gcc-4.8.0/gcc/config.in
59 /* Define if you want all operations on RTL (the basic data structure of the 62 /* Define if you want all operations on RTL (the basic data structure of the
60 optimizer and back end) to be checked for dynamic type safety at runtime. 63 optimizer and back end) to be checked for dynamic type safety at runtime.
61 This is quite expensive. */ 64 This is quite expensive. */
62Index: gcc-4.8.0/gcc/configure.ac 65diff --git a/gcc/configure b/gcc/configure
63=================================================================== 66index 135bbf5..b65d21d 100755
64--- gcc-4.8.0.orig/gcc/configure.ac 2013-03-26 14:11:01.553915046 -0700 67--- a/gcc/configure
65+++ gcc-4.8.0/gcc/configure.ac 2013-03-26 14:19:57.317925096 -0700 68+++ b/gcc/configure
66@@ -5063,6 +5063,16 @@ 69@@ -917,6 +917,7 @@ with_gc
70 with_system_zlib
71 enable_maintainer_mode
72 enable_version_specific_runtime_libs
73+enable_poison_system_directories
74 enable_plugin
75 enable_libquadmath_support
76 with_linker_hash_style
77@@ -1630,6 +1631,8 @@ Optional Features:
78 --enable-version-specific-runtime-libs
79 specify that runtime libraries should be installed
80 in a compiler-specific directory
81+ --enable-poison-system-directories
82+ warn for use of native system header directories
83 --enable-plugin enable plugin support
84 --disable-libquadmath-support
85 disable libquadmath support for Fortran
86@@ -17828,7 +17831,7 @@ else
87 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
88 lt_status=$lt_dlunknown
89 cat > conftest.$ac_ext <<_LT_EOF
90-#line 17831 "configure"
91+#line 17834 "configure"
92 #include "confdefs.h"
93
94 #if HAVE_DLFCN_H
95@@ -17934,7 +17937,7 @@ else
96 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
97 lt_status=$lt_dlunknown
98 cat > conftest.$ac_ext <<_LT_EOF
99-#line 17937 "configure"
100+#line 17940 "configure"
101 #include "confdefs.h"
102
103 #if HAVE_DLFCN_H
104@@ -27103,6 +27106,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
105 fi
106
107
108+# Check whether --enable-poison-system-directories was given.
109+if test "${enable_poison_system_directories+set}" = set; then :
110+ enableval=$enable_poison_system_directories;
111+else
112+ enable_poison_system_directories=no
113+fi
114+
115+if test "x${enable_poison_system_directories}" = "xyes"; then
116+
117+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
118+
119+fi
120+
121 # Substitute configuration variables
122
123
124diff --git a/gcc/configure.ac b/gcc/configure.ac
125index 6363a21..e226b85 100644
126--- a/gcc/configure.ac
127+++ b/gcc/configure.ac
128@@ -5063,6 +5063,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
67 [specify that runtime libraries should be 129 [specify that runtime libraries should be
68 installed in a compiler-specific directory])]) 130 installed in a compiler-specific directory])])
69 131
@@ -80,11 +142,11 @@ Index: gcc-4.8.0/gcc/configure.ac
80 # Substitute configuration variables 142 # Substitute configuration variables
81 AC_SUBST(subdirs) 143 AC_SUBST(subdirs)
82 AC_SUBST(srcdir) 144 AC_SUBST(srcdir)
83Index: gcc-4.8.0/gcc/doc/invoke.texi 145diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
84=================================================================== 146index 9273d7d..a022622 100644
85--- gcc-4.8.0.orig/gcc/doc/invoke.texi 2013-03-26 14:10:58.485914988 -0700 147--- a/gcc/doc/invoke.texi
86+++ gcc-4.8.0/gcc/doc/invoke.texi 2013-03-26 14:19:57.437925099 -0700 148+++ b/gcc/doc/invoke.texi
87@@ -258,6 +258,7 @@ 149@@ -258,6 +258,7 @@ Objective-C and Objective-C++ Dialects}.
88 -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol 150 -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @gol
89 -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol 151 -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol
90 -Wpointer-arith -Wno-pointer-to-int-cast @gol 152 -Wpointer-arith -Wno-pointer-to-int-cast @gol
@@ -92,7 +154,7 @@ Index: gcc-4.8.0/gcc/doc/invoke.texi
92 -Wredundant-decls -Wno-return-local-addr @gol 154 -Wredundant-decls -Wno-return-local-addr @gol
93 -Wreturn-type -Wsequence-point -Wshadow @gol 155 -Wreturn-type -Wsequence-point -Wshadow @gol
94 -Wsign-compare -Wsign-conversion -Wsizeof-pointer-memaccess @gol 156 -Wsign-compare -Wsign-conversion -Wsizeof-pointer-memaccess @gol
95@@ -4007,6 +4008,14 @@ 157@@ -4007,6 +4008,14 @@ headers---for that, @option{-Wunknown-pragmas} must also be used.
96 for most targets, it is made up of code and thus requires the stack 158 for most targets, it is made up of code and thus requires the stack
97 to be made executable in order for the program to work properly. 159 to be made executable in order for the program to work properly.
98 160
@@ -107,11 +169,11 @@ Index: gcc-4.8.0/gcc/doc/invoke.texi
107 @item -Wfloat-equal 169 @item -Wfloat-equal
108 @opindex Wfloat-equal 170 @opindex Wfloat-equal
109 @opindex Wno-float-equal 171 @opindex Wno-float-equal
110Index: gcc-4.8.0/gcc/gcc.c 172diff --git a/gcc/gcc.c b/gcc/gcc.c
111=================================================================== 173index 86077f8..efdb625 100644
112--- gcc-4.8.0.orig/gcc/gcc.c 2013-03-26 14:10:58.485914988 -0700 174--- a/gcc/gcc.c
113+++ gcc-4.8.0/gcc/gcc.c 2013-03-26 14:19:57.425925095 -0700 175+++ b/gcc/gcc.c
114@@ -740,6 +740,8 @@ 176@@ -740,6 +740,8 @@ proper position among the other output files. */
115 "%{fuse-ld=*:-fuse-ld=%*}\ 177 "%{fuse-ld=*:-fuse-ld=%*}\
116 %X %{o*} %{e*} %{N} %{n} %{r}\ 178 %X %{o*} %{e*} %{N} %{n} %{r}\
117 %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\ 179 %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\
@@ -120,10 +182,10 @@ Index: gcc-4.8.0/gcc/gcc.c
120 %{static:} %{L*} %(mfwrap) %(link_libgcc) " SANITIZER_EARLY_SPEC " %o\ 182 %{static:} %{L*} %(mfwrap) %(link_libgcc) " SANITIZER_EARLY_SPEC " %o\
121 %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\ 183 %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\
122 %{fgnu-tm:%:include(libitm.spec)%(link_itm)}\ 184 %{fgnu-tm:%:include(libitm.spec)%(link_itm)}\
123Index: gcc-4.8.0/gcc/incpath.c 185diff --git a/gcc/incpath.c b/gcc/incpath.c
124=================================================================== 186index 018da98..cd41c78 100644
125--- gcc-4.8.0.orig/gcc/incpath.c 2013-03-26 14:10:58.485914988 -0700 187--- a/gcc/incpath.c
126+++ gcc-4.8.0/gcc/incpath.c 2013-03-26 14:43:10.397951230 -0700 188+++ b/gcc/incpath.c
127@@ -28,6 +28,7 @@ 189@@ -28,6 +28,7 @@
128 #include "intl.h" 190 #include "intl.h"
129 #include "incpath.h" 191 #include "incpath.h"
@@ -132,7 +194,7 @@ Index: gcc-4.8.0/gcc/incpath.c
132 194
133 /* Microsoft Windows does not natively support inodes. 195 /* Microsoft Windows does not natively support inodes.
134 VMS has non-numeric inodes. */ 196 VMS has non-numeric inodes. */
135@@ -382,6 +383,24 @@ 197@@ -382,6 +383,24 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
136 } 198 }
137 fprintf (stderr, _("End of search list.\n")); 199 fprintf (stderr, _("End of search list.\n"));
138 } 200 }
@@ -157,75 +219,6 @@ Index: gcc-4.8.0/gcc/incpath.c
157 } 219 }
158 220
159 /* Use given -I paths for #include "..." but not #include <...>, and 221 /* Use given -I paths for #include "..." but not #include <...>, and
160Index: gcc-4.8.0/gcc/Makefile.in 222--
161=================================================================== 2231.7.10.4
162--- gcc-4.8.0.orig/gcc/Makefile.in 2013-03-26 14:10:58.485914988 -0700 224
163+++ gcc-4.8.0/gcc/Makefile.in 2013-03-26 14:19:57.165925091 -0700
164@@ -2018,7 +2018,7 @@
165
166 incpath.o: incpath.c incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
167 intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \
168- $(MACHMODE_H)
169+ $(MACHMODE_H) $(FLAGS_H) toplev.h
170
171 CFLAGS-prefix.o += -DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s)
172 prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h prefix.h \
173Index: gcc-4.8.0/gcc/configure
174===================================================================
175--- gcc-4.8.0.orig/gcc/configure 2013-03-26 14:11:01.561915044 -0700
176+++ gcc-4.8.0/gcc/configure 2013-03-26 14:19:57.301925093 -0700
177@@ -917,6 +917,7 @@
178 with_system_zlib
179 enable_maintainer_mode
180 enable_version_specific_runtime_libs
181+enable_poison_system_directories
182 enable_plugin
183 enable_libquadmath_support
184 with_linker_hash_style
185@@ -1630,6 +1631,8 @@
186 --enable-version-specific-runtime-libs
187 specify that runtime libraries should be installed
188 in a compiler-specific directory
189+ --enable-poison-system-directories
190+ warn for use of native system header directories
191 --enable-plugin enable plugin support
192 --disable-libquadmath-support
193 disable libquadmath support for Fortran
194@@ -17828,7 +17831,7 @@
195 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
196 lt_status=$lt_dlunknown
197 cat > conftest.$ac_ext <<_LT_EOF
198-#line 17831 "configure"
199+#line 17834 "configure"
200 #include "confdefs.h"
201
202 #if HAVE_DLFCN_H
203@@ -17934,7 +17937,7 @@
204 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
205 lt_status=$lt_dlunknown
206 cat > conftest.$ac_ext <<_LT_EOF
207-#line 17937 "configure"
208+#line 17940 "configure"
209 #include "confdefs.h"
210
211 #if HAVE_DLFCN_H
212@@ -27103,6 +27106,19 @@
213 fi
214
215
216+# Check whether --enable-poison-system-directories was given.
217+if test "${enable_poison_system_directories+set}" = set; then :
218+ enableval=$enable_poison_system_directories;
219+else
220+ enable_poison_system_directories=no
221+fi
222+
223+if test "x${enable_poison_system_directories}" = "xyes"; then
224+
225+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
226+
227+fi
228+
229 # Substitute configuration variables
230
231
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-poison-dir-extend.patch b/meta/recipes-devtools/gcc/gcc-4.8/0017-gcc-poison-dir-extend.patch
index 607129a6fe..9e81efd4d5 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-poison-dir-extend.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0017-gcc-poison-dir-extend.patch
@@ -1,4 +1,7 @@
1Upstream-Status: Pending 1From e99c9c97266d6d3e8cac798aa91408250c4d60cf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:00:34 +0400
4Subject: [PATCH 17/35] gcc-poison-dir-extend
2 5
3Add /sw/include and /opt/include based on the original 6Add /sw/include and /opt/include based on the original
4zecke-no-host-includes.patch patch. The original patch checked for 7zecke-no-host-includes.patch patch. The original patch checked for
@@ -9,12 +12,18 @@ Instead, we add the two missing items to the current scan. If the user
9wants this to be a failure, they can add "-Werror=poison-system-directories". 12wants this to be a failure, they can add "-Werror=poison-system-directories".
10 13
11Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 14Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16
17Upstream-Status: Pending
18---
19 gcc/incpath.c | 4 +++-
20 1 file changed, 3 insertions(+), 1 deletion(-)
12 21
13Index: gcc-4_7-branch/gcc/incpath.c 22diff --git a/gcc/incpath.c b/gcc/incpath.c
14=================================================================== 23index cd41c78..eac4a92 100644
15--- gcc-4_7-branch.orig/gcc/incpath.c 2012-04-10 10:37:09.343387385 -0700 24--- a/gcc/incpath.c
16+++ gcc-4_7-branch/gcc/incpath.c 2012-04-10 10:37:18.975387919 -0700 25+++ b/gcc/incpath.c
17@@ -371,7 +371,9 @@ 26@@ -393,7 +393,9 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
18 { 27 {
19 if ((!strncmp (p->name, "/usr/include", 12)) 28 if ((!strncmp (p->name, "/usr/include", 12))
20 || (!strncmp (p->name, "/usr/local/include", 18)) 29 || (!strncmp (p->name, "/usr/local/include", 18))
@@ -25,3 +34,6 @@ Index: gcc-4_7-branch/gcc/incpath.c
25 warning (OPT_Wpoison_system_directories, 34 warning (OPT_Wpoison_system_directories,
26 "include location \"%s\" is unsafe for " 35 "include location \"%s\" is unsafe for "
27 "cross-compilation", 36 "cross-compilation",
37--
381.7.10.4
39
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/meta/recipes-devtools/gcc/gcc-4.8/0018-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
index ff136e19aa..a28cafdf95 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0018-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -1,4 +1,7 @@
1Upstream-Status: Pending 1From 56207fa2923e8edf774e98ffac82666091076be3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:08:31 +0400
4Subject: [PATCH 18/35] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
2 5
3Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it. 6Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
4 7
@@ -14,68 +17,19 @@ I also stopped passing LIBCFLAGS to configure scripts since they are unused in t
14 17
15Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3? 18Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
16 19
17Paolo 20Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
18 21Signed-off-by: Khem Raj <raj.khem@gmail.com>
192008-02-19 Paolo Bonzini <bonzini@gnu.org>
20
21 PR bootstrap/32009
22 PR bootstrap/32161
23
24 * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Compute here.
25 * configure: Regenerate.
26
27 * Makefile.def: Define stage_libcflags for all bootstrap stages.
28 * Makefile.tpl (BOOT_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS,
29 STAGE4_LIBCFLAGS): New.
30 (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without
31 $(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
32 (BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS.
33 (EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS.
34 (configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags
35 for target modules. Don't export LIBCFLAGS.
36 (all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass
37 $(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after
38 the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
39 (invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with
40 $(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS).
41 * Makefile.in: Regenerate.
42
43config:
442008-02-19 Paolo Bonzini <bonzini@gnu.org>
45
46 PR bootstrap/32009
47 * mh-ppc-darwin (BOOT_CFLAGS): Reenable.
48
49gcc:
502008-02-19 Paolo Bonzini <bonzini@gnu.org>
51
52 PR bootstrap/32009
53 * doc/install.texi: Correct references to CFLAGS, replacing them
54 with BOOT_CFLAGS. Document flags used during bootstrap for
55 target libraries.
56
57 22
23Upstream-Status: Pending
58--- 24---
59 Makefile.def | 25 25 configure | 32 ++++++++++++++++++++++++++++++++
60 Makefile.in | 1845 ++++++++++++++++++++++++++++++------------------- 26 1 file changed, 32 insertions(+)
61 Makefile.tpl | 91 +- 27
62 config/mh-ppc-darwin | 3 28diff --git a/configure b/configure
63 configure | 36 29index 1b76c90..e4dce7c 100755
64 configure.ac | 32 30--- a/configure
65 gcc/Makefile.in | 2 31+++ b/configure
66 gcc/configure | 6 32@@ -6772,6 +6772,38 @@ fi
67 gcc/configure.ac | 3
68 gcc/doc/install.texi | 56 -
69 libiberty/Makefile.in | 162 ++--
70 libiberty/configure | 46 -
71 libiberty/configure.ac | 43 -
72 13 files changed, 1454 insertions(+), 896 deletions(-)
73
74Index: gcc-4_7-branch/configure
75===================================================================
76--- gcc-4_7-branch.orig/configure 2012-04-10 10:22:05.807343683 -0700
77+++ gcc-4_7-branch/configure 2012-04-10 10:37:24.243388086 -0700
78@@ -6695,6 +6695,38 @@
79 33
80 34
81 35
@@ -114,3 +68,6 @@ Index: gcc-4_7-branch/configure
114 # Handle --with-headers=XXX. If the value is not "yes", the contents of 68 # Handle --with-headers=XXX. If the value is not "yes", the contents of
115 # the named directory are copied to $(tooldir)/sys-include. 69 # the named directory are copied to $(tooldir)/sys-include.
116 if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then 70 if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
71--
721.7.10.4
73
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/64bithack.patch b/meta/recipes-devtools/gcc/gcc-4.8/0019-64-bit-multilib-hack.patch
index f10df4ae37..51f4dba396 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/64bithack.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0019-64-bit-multilib-hack.patch
@@ -1,11 +1,14 @@
1Upstream-Status: Inappropriate [embedded specific] 1From 18fde5740b09324dfb9cf41e9849672573ff5fa0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:10:06 +0400
4Subject: [PATCH 19/35] 64-bit multilib hack.
2 5
3GCC has internal multilib handling code but it assumes a very specific rigid directory 6GCC has internal multilib handling code but it assumes a very specific rigid directory
4layout. The build system implementation of multilib layout is very generic and allows 7layout. The build system implementation of multilib layout is very generic and allows
5complete customisation of the library directories. 8complete customisation of the library directories.
6 9
7This patch is a partial solution to allow any custom directories to be passed into gcc 10This patch is a partial solution to allow any custom directories to be passed into gcc
8and handled correctly. It forces gcc to use the base_libdir (which is the current 11and handled correctly. It forces gcc to use the base_libdir (which is the current
9directory, "."). We need to do this for each multilib that is configured as we don't 12directory, "."). We need to do this for each multilib that is configured as we don't
10know which compiler options may be being passed into the compiler. Since we have a compiler 13know which compiler options may be being passed into the compiler. Since we have a compiler
11per mulitlib at this point that isn't an issue. 14per mulitlib at this point that isn't an issue.
@@ -13,15 +16,25 @@ per mulitlib at this point that isn't an issue.
13The one problem is the target compiler is only going to work for the default multlilib at 16The one problem is the target compiler is only going to work for the default multlilib at
14this point. Ideally we'd figure out which multilibs were being enabled with which paths 17this point. Ideally we'd figure out which multilibs were being enabled with which paths
15and be able to patch these entries with a complete set of correct paths but this we 18and be able to patch these entries with a complete set of correct paths but this we
16don't have such code at this point. This is something the target gcc recipe should do 19don't have such code at this point. This is something the target gcc recipe should do
17and override these platform defaults in its build config. 20and override these platform defaults in its build config.
18 21
19RP 15/8/11 22RP 15/8/11
20 23
21Index: gcc-4.8.0/gcc/config/i386/t-linux64 24Signed-off-by: Khem Raj <raj.khem@gmail.com>
22=================================================================== 25Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
23--- gcc-4.8.0.orig/gcc/config/i386/t-linux64 2013-01-10 12:38:27.000000000 -0800 26
24+++ gcc-4.8.0/gcc/config/i386/t-linux64 2013-03-26 11:59:28.381766975 -0700 27Upstream-Status: Pending
28---
29 gcc/config/i386/t-linux64 | 6 ++----
30 gcc/config/mips/t-linux64 | 10 +++-------
31 gcc/config/rs6000/t-linux64 | 5 ++---
32 3 files changed, 7 insertions(+), 14 deletions(-)
33
34diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
35index bcea0c6..eb004d7 100644
36--- a/gcc/config/i386/t-linux64
37+++ b/gcc/config/i386/t-linux64
25@@ -32,7 +32,5 @@ 38@@ -32,7 +32,5 @@
26 # 39 #
27 comma=, 40 comma=,
@@ -32,10 +45,10 @@ Index: gcc-4.8.0/gcc/config/i386/t-linux64
32-MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) 45-MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
33+MULTILIB_DIRNAMES = . . 46+MULTILIB_DIRNAMES = . .
34+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) 47+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
35Index: gcc-4.8.0/gcc/config/mips/t-linux64 48diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
36=================================================================== 49index bdbbd4f..16a6366 100644
37--- gcc-4.8.0.orig/gcc/config/mips/t-linux64 2013-01-10 12:38:27.000000000 -0800 50--- a/gcc/config/mips/t-linux64
38+++ gcc-4.8.0/gcc/config/mips/t-linux64 2013-03-26 12:00:56.973768645 -0700 51+++ b/gcc/config/mips/t-linux64
39@@ -17,10 +17,6 @@ 52@@ -17,10 +17,6 @@
40 # <http://www.gnu.org/licenses/>. 53 # <http://www.gnu.org/licenses/>.
41 54
@@ -50,10 +63,10 @@ Index: gcc-4.8.0/gcc/config/mips/t-linux64
50+MULTILIB_DIRNAMES = . . . 63+MULTILIB_DIRNAMES = . . .
51+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) 64+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
52+ 65+
53Index: gcc-4.8.0/gcc/config/rs6000/t-linux64 66diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
54=================================================================== 67index 9175de2..3971019 100644
55--- gcc-4.8.0.orig/gcc/config/rs6000/t-linux64 2013-01-10 12:38:27.000000000 -0800 68--- a/gcc/config/rs6000/t-linux64
56+++ gcc-4.8.0/gcc/config/rs6000/t-linux64 2013-03-26 12:04:10.885772283 -0700 69+++ b/gcc/config/rs6000/t-linux64
57@@ -26,7 +26,6 @@ 70@@ -26,7 +26,6 @@
58 # MULTILIB_OSDIRNAMES according to what is found on the target. 71 # MULTILIB_OSDIRNAMES according to what is found on the target.
59 72
@@ -64,3 +77,6 @@ Index: gcc-4.8.0/gcc/config/rs6000/t-linux64
64-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:powerpc64-linux-gnu) 77-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
65-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) 78-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
66+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) 79+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
80--
811.7.10.4
82
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/optional_libstdc.patch b/meta/recipes-devtools/gcc/gcc-4.8/0020-optional-libstdc.patch
index 2ea23e850a..eff021eb99 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/optional_libstdc.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0020-optional-libstdc.patch
@@ -1,21 +1,49 @@
1Upstream-Status: Inappropriate [embedded specific] 1From 307c8ff3ef666b7bd5ac733863f2fbb27a9d521e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:12:56 +0400
4Subject: [PATCH 20/35] optional libstdc
2 5
3gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++ 6gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
4will not run correctly since by default the linker will try to link against libstdc++ 7will not run correctly since by default the linker will try to link against libstdc++
5which shouldn't exist yet. We need an option to disable -lstdc++ 8which shouldn't exist yet. We need an option to disable -lstdc++
6option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc 9option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
7driver. This patch adds such an option which only disables the -lstdc++. 10driver. This patch adds such an option which only disables the -lstdc++.
8 11
9A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to 12A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
10do this officially, the likely answer is don't build libstdc++ separately. 13do this officially, the likely answer is don't build libstdc++ separately.
11 14
12RP 29/6/10 15RP 29/6/10
13 16
14Index: gcc-4.8.0/gcc/cp/g++spec.c 17Signed-off-by: Khem Raj <raj.khem@gmail.com>
15=================================================================== 18
16--- gcc-4.8.0.orig/gcc/cp/g++spec.c 2013-01-10 12:38:27.000000000 -0800 19Upstream-Status: Inappropriate [embedded specific]
17+++ gcc-4.8.0/gcc/cp/g++spec.c 2013-03-26 12:06:42.305775104 -0700 20---
18@@ -126,6 +126,7 @@ 21 gcc/c-family/c.opt | 4 ++++
22 gcc/cp/g++spec.c | 1 +
23 gcc/doc/invoke.texi | 9 +++++++--
24 gcc/gcc.c | 1 +
25 4 files changed, 13 insertions(+), 2 deletions(-)
26
27diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
28index 10ae84d..dc3ffdf 100644
29--- a/gcc/c-family/c.opt
30+++ b/gcc/c-family/c.opt
31@@ -1299,6 +1299,10 @@ nostdinc++
32 C++ ObjC++
33 Do not search standard system include directories for C++
34
35+nostdlib++
36+Driver
37+Do not link standard C++ runtime library
38+
39 o
40 C ObjC C++ ObjC++ Joined Separate
41 ; Documented in common.opt
42diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
43index b896eea..f55216b 100644
44--- a/gcc/cp/g++spec.c
45+++ b/gcc/cp/g++spec.c
46@@ -126,6 +126,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
19 switch (decoded_options[i].opt_index) 47 switch (decoded_options[i].opt_index)
20 { 48 {
21 case OPT_nostdlib: 49 case OPT_nostdlib:
@@ -23,11 +51,11 @@ Index: gcc-4.8.0/gcc/cp/g++spec.c
23 case OPT_nodefaultlibs: 51 case OPT_nodefaultlibs:
24 library = -1; 52 library = -1;
25 break; 53 break;
26Index: gcc-4.8.0/gcc/doc/invoke.texi 54diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
27=================================================================== 55index a022622..f15c991 100644
28--- gcc-4.8.0.orig/gcc/doc/invoke.texi 2013-03-26 12:05:41.000000000 -0700 56--- a/gcc/doc/invoke.texi
29+++ gcc-4.8.0/gcc/doc/invoke.texi 2013-03-26 12:07:56.905776503 -0700 57+++ b/gcc/doc/invoke.texi
30@@ -190,7 +190,7 @@ 58@@ -190,7 +190,7 @@ in the following sections.
31 -frepo -fno-rtti -fstats -ftemplate-backtrace-limit=@var{n} @gol 59 -frepo -fno-rtti -fstats -ftemplate-backtrace-limit=@var{n} @gol
32 -ftemplate-depth=@var{n} @gol 60 -ftemplate-depth=@var{n} @gol
33 -fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @gol 61 -fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @gol
@@ -36,7 +64,7 @@ Index: gcc-4.8.0/gcc/doc/invoke.texi
36 -fvisibility-ms-compat @gol 64 -fvisibility-ms-compat @gol
37 -fext-numeric-literals @gol 65 -fext-numeric-literals @gol
38 -Wabi -Wconversion-null -Wctor-dtor-privacy @gol 66 -Wabi -Wconversion-null -Wctor-dtor-privacy @gol
39@@ -453,7 +453,7 @@ 67@@ -453,7 +453,7 @@ Objective-C and Objective-C++ Dialects}.
40 -nostartfiles -nodefaultlibs -nostdlib -pie -rdynamic @gol 68 -nostartfiles -nodefaultlibs -nostdlib -pie -rdynamic @gol
41 -s -static -static-libgcc -static-libstdc++ @gol 69 -s -static -static-libgcc -static-libstdc++ @gol
42 -static-libasan -static-libtsan @gol 70 -static-libasan -static-libtsan @gol
@@ -45,7 +73,7 @@ Index: gcc-4.8.0/gcc/doc/invoke.texi
45 -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol 73 -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
46 -u @var{symbol}} 74 -u @var{symbol}}
47 75
48@@ -9886,6 +9886,11 @@ 76@@ -9886,6 +9886,11 @@ These entries are usually resolved by entries in
49 libc. These entry points should be supplied through some other 77 libc. These entry points should be supplied through some other
50 mechanism when this option is specified. 78 mechanism when this option is specified.
51 79
@@ -57,26 +85,11 @@ Index: gcc-4.8.0/gcc/doc/invoke.texi
57 @cindex @option{-lgcc}, use with @option{-nostdlib} 85 @cindex @option{-lgcc}, use with @option{-nostdlib}
58 @cindex @option{-nostdlib} and unresolved references 86 @cindex @option{-nostdlib} and unresolved references
59 @cindex unresolved references and @option{-nostdlib} 87 @cindex unresolved references and @option{-nostdlib}
60Index: gcc-4.8.0/gcc/c-family/c.opt 88diff --git a/gcc/gcc.c b/gcc/gcc.c
61=================================================================== 89index efdb625..477752f 100644
62--- gcc-4.8.0.orig/gcc/c-family/c.opt 2013-01-18 21:25:25.000000000 -0800 90--- a/gcc/gcc.c
63+++ gcc-4.8.0/gcc/c-family/c.opt 2013-03-26 12:06:42.321775104 -0700 91+++ b/gcc/gcc.c
64@@ -1299,6 +1299,10 @@ 92@@ -748,6 +748,7 @@ proper position among the other output files. */
65 C++ ObjC++
66 Do not search standard system include directories for C++
67
68+nostdlib++
69+Driver
70+Do not link standard C++ runtime library
71+
72 o
73 C ObjC C++ ObjC++ Joined Separate
74 ; Documented in common.opt
75Index: gcc-4.8.0/gcc/gcc.c
76===================================================================
77--- gcc-4.8.0.orig/gcc/gcc.c 2013-03-26 12:05:41.000000000 -0700
78+++ gcc-4.8.0/gcc/gcc.c 2013-03-26 12:06:42.325775102 -0700
79@@ -748,6 +748,7 @@
80 %(mflib) " STACK_SPLIT_SPEC "\ 93 %(mflib) " STACK_SPLIT_SPEC "\
81 %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \ 94 %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
82 %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\ 95 %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
@@ -84,3 +97,6 @@ Index: gcc-4.8.0/gcc/gcc.c
84 %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}" 97 %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}"
85 #endif 98 #endif
86 99
100--
1011.7.10.4
102
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/disable_relax_pic_calls_flag.patch b/meta/recipes-devtools/gcc/gcc-4.8/0021-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
index bc01cd9103..eb3c61f127 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/disable_relax_pic_calls_flag.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0021-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
@@ -1,6 +1,7 @@
1Upstream-Status: Inappropriate [configuration] 1From 004696e054ae9dc71d512cc755ccc4074fc62b2d Mon Sep 17 00:00:00 2001
2 2From: Khem Raj <raj.khem@gmail.com>
3GCC: disable MASK_RELAX_PIC_CALLS bit 3Date: Fri, 29 Mar 2013 09:14:20 +0400
4Subject: [PATCH 21/35] gcc: disable MASK_RELAX_PIC_CALLS bit
4 5
5The new feature added after 4.3.3 6The new feature added after 4.3.3
6"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" 7"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
@@ -9,12 +10,19 @@ The function mips_get_pic_call_symbol keeps on recursively calling itself.
9Disable this feature to walk aside the bug. 10Disable this feature to walk aside the bug.
10 11
11Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> 12Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
12 14
13Index: gcc-4_7-branch/gcc/configure 15Upstream-Status: Inappropriate [configuration]
14=================================================================== 16---
15--- gcc-4_7-branch.orig/gcc/configure 2012-04-10 10:37:09.351387437 -0700 17 gcc/configure | 7 -------
16+++ gcc-4_7-branch/gcc/configure 2012-04-10 10:37:57.211389779 -0700 18 gcc/configure.ac | 7 -------
17@@ -25837,13 +25837,6 @@ 19 2 files changed, 14 deletions(-)
20
21diff --git a/gcc/configure b/gcc/configure
22index b65d21d..bdab45a 100755
23--- a/gcc/configure
24+++ b/gcc/configure
25@@ -25829,13 +25829,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
18 rm -f conftest.* 26 rm -f conftest.*
19 fi 27 fi
20 fi 28 fi
@@ -28,11 +36,11 @@ Index: gcc-4_7-branch/gcc/configure
28 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 36 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
29 $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } 37 $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
30 38
31Index: gcc-4_7-branch/gcc/configure.ac 39diff --git a/gcc/configure.ac b/gcc/configure.ac
32=================================================================== 40index e226b85..5f5c909 100644
33--- gcc-4_7-branch.orig/gcc/configure.ac 2012-04-10 10:37:09.339387366 -0700 41--- a/gcc/configure.ac
34+++ gcc-4_7-branch/gcc/configure.ac 2012-04-10 10:37:57.215389769 -0700 42+++ b/gcc/configure.ac
35@@ -4027,13 +4027,6 @@ 43@@ -4099,13 +4099,6 @@ x:
36 rm -f conftest.* 44 rm -f conftest.*
37 fi 45 fi
38 fi 46 fi
@@ -46,3 +54,6 @@ Index: gcc-4_7-branch/gcc/configure.ac
46 AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) 54 AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
47 55
48 AC_CACHE_CHECK([linker for .eh_frame personality relaxation], 56 AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
57--
581.7.10.4
59
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0022-COLLECT_GCC_OPTIONS.patch b/meta/recipes-devtools/gcc/gcc-4.8/0022-COLLECT_GCC_OPTIONS.patch
new file mode 100644
index 0000000000..40c8abffae
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0022-COLLECT_GCC_OPTIONS.patch
@@ -0,0 +1,38 @@
1From 7f5c9dcc71c8b83a0b5596266cc4bdf0936e8e00 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:16:28 +0400
4Subject: [PATCH 22/35] COLLECT_GCC_OPTIONS
5
6This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
7invoke collect2.
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Upstream-Status: Pending
12---
13 gcc/gcc.c | 9 +++++++++
14 1 file changed, 9 insertions(+)
15
16diff --git a/gcc/gcc.c b/gcc/gcc.c
17index 477752f..51062aa 100644
18--- a/gcc/gcc.c
19+++ b/gcc/gcc.c
20@@ -4098,6 +4098,15 @@ set_collect_gcc_options (void)
21 sizeof ("COLLECT_GCC_OPTIONS=") - 1);
22
23 first_time = TRUE;
24+#ifdef HAVE_LD_SYSROOT
25+ if (target_system_root_changed && target_system_root)
26+ {
27+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
28+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
29+ obstack_grow (&collect_obstack, "'", 1);
30+ first_time = FALSE;
31+ }
32+#endif
33 for (i = 0; (int) i < n_switches; i++)
34 {
35 const char *const *args;
36--
371.7.10.4
38
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/use-defaults.h-and-t-oe-in-B.patch b/meta/recipes-devtools/gcc/gcc-4.8/0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
index 212c26324c..9e4435cf59 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/use-defaults.h-and-t-oe-in-B.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
@@ -1,8 +1,16 @@
1Upstream-Status: Pending 1From 46d52439052f0876a92dcf8a0ab9c60d75c8030b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:17:25 +0400
4Subject: [PATCH 23/35] Use the defaults.h in ${B} instead of ${S}, and t-oe
5 in ${B}
2 6
3Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that 7Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
4the source can be shared between gcc-cross-initial, 8the source can be shared between gcc-cross-initial,
5gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. 9gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12
13Upstream-Status: Pending
6--- 14---
7 gcc/Makefile.in | 2 +- 15 gcc/Makefile.in | 2 +-
8 gcc/configure | 4 ++-- 16 gcc/configure | 4 ++--
@@ -10,12 +18,12 @@ gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
10 gcc/mkconfig.sh | 4 ++-- 18 gcc/mkconfig.sh | 4 ++--
11 4 files changed, 7 insertions(+), 7 deletions(-) 19 4 files changed, 7 insertions(+), 7 deletions(-)
12 20
13Index: gcc-4_7-branch/gcc/Makefile.in 21diff --git a/gcc/Makefile.in b/gcc/Makefile.in
14=================================================================== 22index 90a2bba..2320497 100644
15--- gcc-4_7-branch.orig/gcc/Makefile.in 2012-04-10 10:37:09.347387424 -0700 23--- a/gcc/Makefile.in
16+++ gcc-4_7-branch/gcc/Makefile.in 2012-04-10 10:39:24.019393881 -0700 24+++ b/gcc/Makefile.in
17@@ -481,7 +481,7 @@ 25@@ -469,7 +469,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
18 TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ 26 TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
19 27
20 xmake_file=@xmake_file@ 28 xmake_file=@xmake_file@
21-tmake_file=@tmake_file@ 29-tmake_file=@tmake_file@
@@ -23,11 +31,11 @@ Index: gcc-4_7-branch/gcc/Makefile.in
23 TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@ 31 TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
24 TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ 32 TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
25 TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ 33 TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
26Index: gcc-4_7-branch/gcc/configure 34diff --git a/gcc/configure b/gcc/configure
27=================================================================== 35index bdab45a..d587993 100755
28--- gcc-4_7-branch.orig/gcc/configure 2012-04-10 10:37:57.211389779 -0700 36--- a/gcc/configure
29+++ gcc-4_7-branch/gcc/configure 2012-04-10 10:39:24.027393938 -0700 37+++ b/gcc/configure
30@@ -11692,8 +11692,8 @@ 38@@ -11539,8 +11539,8 @@ for f in $tm_file; do
31 tm_include_list="${tm_include_list} $f" 39 tm_include_list="${tm_include_list} $f"
32 ;; 40 ;;
33 defaults.h ) 41 defaults.h )
@@ -38,11 +46,11 @@ Index: gcc-4_7-branch/gcc/configure
38 ;; 46 ;;
39 * ) 47 * )
40 tm_file_list="${tm_file_list} \$(srcdir)/config/$f" 48 tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
41Index: gcc-4_7-branch/gcc/configure.ac 49diff --git a/gcc/configure.ac b/gcc/configure.ac
42=================================================================== 50index 5f5c909..5e5e84f 100644
43--- gcc-4_7-branch.orig/gcc/configure.ac 2012-04-10 10:37:57.215389769 -0700 51--- a/gcc/configure.ac
44+++ gcc-4_7-branch/gcc/configure.ac 2012-04-10 10:39:24.027393938 -0700 52+++ b/gcc/configure.ac
45@@ -1699,8 +1699,8 @@ 53@@ -1720,8 +1720,8 @@ for f in $tm_file; do
46 tm_include_list="${tm_include_list} $f" 54 tm_include_list="${tm_include_list} $f"
47 ;; 55 ;;
48 defaults.h ) 56 defaults.h )
@@ -53,11 +61,11 @@ Index: gcc-4_7-branch/gcc/configure.ac
53 ;; 61 ;;
54 * ) 62 * )
55 tm_file_list="${tm_file_list} \$(srcdir)/config/$f" 63 tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
56Index: gcc-4_7-branch/gcc/mkconfig.sh 64diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
57=================================================================== 65index 29fdfc7..e048dce 100644
58--- gcc-4_7-branch.orig/gcc/mkconfig.sh 2012-04-10 10:17:24.383330061 -0700 66--- a/gcc/mkconfig.sh
59+++ gcc-4_7-branch/gcc/mkconfig.sh 2012-04-10 10:39:24.027393938 -0700 67+++ b/gcc/mkconfig.sh
60@@ -78,7 +78,7 @@ 68@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
61 if [ $# -ge 1 ]; then 69 if [ $# -ge 1 ]; then
62 echo '#ifdef IN_GCC' >> ${output}T 70 echo '#ifdef IN_GCC' >> ${output}T
63 for file in "$@"; do 71 for file in "$@"; do
@@ -66,7 +74,7 @@ Index: gcc-4_7-branch/gcc/mkconfig.sh
66 postpone_defaults_h="yes" 74 postpone_defaults_h="yes"
67 else 75 else
68 echo "# include \"$file\"" >> ${output}T 76 echo "# include \"$file\"" >> ${output}T
69@@ -104,7 +104,7 @@ 77@@ -103,7 +103,7 @@ esac
70 78
71 # If we postponed including defaults.h, add the #include now. 79 # If we postponed including defaults.h, add the #include now.
72 if test x"$postpone_defaults_h" = x"yes"; then 80 if test x"$postpone_defaults_h" = x"yes"; then
@@ -75,3 +83,6 @@ Index: gcc-4_7-branch/gcc/mkconfig.sh
75 fi 83 fi
76 84
77 # Add multiple inclusion protection guard, part two. 85 # Add multiple inclusion protection guard, part two.
86--
871.7.10.4
88
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/pr32219.patch b/meta/recipes-devtools/gcc/gcc-4.8/0024-PR-target-32219.patch
index bea2063049..b47d841a7f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/pr32219.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0024-PR-target-32219.patch
@@ -1,33 +1,25 @@
1Upstream-Status:Backport 1From e0d15f4f8bf28c351b9215ca37f1caa24df0e1fd Mon Sep 17 00:00:00 2001
2Hi, 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:18:54 +0400
4Subject: [PATCH 24/35] PR target/32219
3 5
4As suggested by richi. 6* varasm.c (default_binds_local_p_1): Weak data is not local.
5regtested on i686-linux-gnu with all default languages and no regressions.
6Ok for trunk?
7
8gcc/ChangeLog
92010-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10
11 PR target/32219
12 * varasm.c (default_binds_local_p_1): Weak data is not local.
13
14gcc/testsuite/ChangeLog
152010-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16
17 PR target/32219
18 * gcc.dg/visibility-21.c: New test.
19 7
20Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> 8Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Upstream-Status: Backport
21--- 12---
22 gcc/testsuite/gcc.dg/visibility-21.c | 14 ++++++++++++++ 13 gcc/testsuite/gcc.dg/visibility-21.c | 14 ++++++++++++++
23 gcc/varasm.c | 8 ++++---- 14 gcc/varasm.c | 9 ++++-----
24 2 files changed, 18 insertions(+), 4 deletions(-) 15 2 files changed, 18 insertions(+), 5 deletions(-)
25 create mode 100644 gcc/testsuite/gcc.dg/visibility-21.c 16 create mode 100644 gcc/testsuite/gcc.dg/visibility-21.c
26 17
27Index: gcc-4_7-branch/gcc/testsuite/gcc.dg/visibility-21.c 18diff --git a/gcc/testsuite/gcc.dg/visibility-21.c b/gcc/testsuite/gcc.dg/visibility-21.c
28=================================================================== 19new file mode 100644
29--- /dev/null 1970-01-01 00:00:00.000000000 +0000 20index 0000000..be7deda
30+++ gcc-4_7-branch/gcc/testsuite/gcc.dg/visibility-21.c 2012-04-10 10:39:38.083396738 -0700 21--- /dev/null
22+++ b/gcc/testsuite/gcc.dg/visibility-21.c
31@@ -0,0 +1,14 @@ 23@@ -0,0 +1,14 @@
32+/* PR target/32219 */ 24+/* PR target/32219 */
33+/* { dg-do run } */ 25+/* { dg-do run } */
@@ -43,11 +35,11 @@ Index: gcc-4_7-branch/gcc/testsuite/gcc.dg/visibility-21.c
43+ return 0; 35+ return 0;
44+} 36+}
45+ 37+
46Index: gcc-4_7-branch/gcc/varasm.c 38diff --git a/gcc/varasm.c b/gcc/varasm.c
47=================================================================== 39index 6648103..fadba78 100644
48--- gcc-4_7-branch.orig/gcc/varasm.c 2012-04-10 10:17:24.127330049 -0700 40--- a/gcc/varasm.c
49+++ gcc-4_7-branch/gcc/varasm.c 2012-04-10 10:39:38.087396414 -0700 41+++ b/gcc/varasm.c
50@@ -6937,6 +6937,10 @@ 42@@ -6675,6 +6675,10 @@ default_binds_local_p_1 (const_tree exp, int shlib)
51 /* Static variables are always local. */ 43 /* Static variables are always local. */
52 else if (! TREE_PUBLIC (exp)) 44 else if (! TREE_PUBLIC (exp))
53 local_p = true; 45 local_p = true;
@@ -58,7 +50,7 @@ Index: gcc-4_7-branch/gcc/varasm.c
58 /* A variable is local if the user has said explicitly that it will 50 /* A variable is local if the user has said explicitly that it will
59 be. */ 51 be. */
60 else if ((DECL_VISIBILITY_SPECIFIED (exp) 52 else if ((DECL_VISIBILITY_SPECIFIED (exp)
61@@ -6950,11 +6954,6 @@ 53@@ -6688,11 +6692,6 @@ default_binds_local_p_1 (const_tree exp, int shlib)
62 local. */ 54 local. */
63 else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT) 55 else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
64 local_p = true; 56 local_p = true;
@@ -70,3 +62,6 @@ Index: gcc-4_7-branch/gcc/varasm.c
70 /* If PIC, then assume that any global name can be overridden by 62 /* If PIC, then assume that any global name can be overridden by
71 symbols resolved from other modules. */ 63 symbols resolved from other modules. */
72 else if (shlib) 64 else if (shlib)
65--
661.7.10.4
67
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0025-fortran-cross-compile-hack.patch b/meta/recipes-devtools/gcc/gcc-4.8/0025-fortran-cross-compile-hack.patch
new file mode 100644
index 0000000000..0e7914d5c7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0025-fortran-cross-compile-hack.patch
@@ -0,0 +1,46 @@
1From af8a56ea4e17b2909eff2c57704ab43ef24f28d3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:20:01 +0400
4Subject: [PATCH 25/35] fortran cross-compile hack.
5
6* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
7used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
8directory.
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11
12Upstream-Status: Inappropriate [embedded specific]
13---
14 libgfortran/configure | 2 +-
15 libgfortran/configure.ac | 2 +-
16 2 files changed, 2 insertions(+), 2 deletions(-)
17
18diff --git a/libgfortran/configure b/libgfortran/configure
19index 8385e96..b8f7a92 100755
20--- a/libgfortran/configure
21+++ b/libgfortran/configure
22@@ -12704,7 +12704,7 @@ esac
23
24 # We need gfortran to compile parts of the library
25 #AC_PROG_FC(gfortran)
26-FC="$GFORTRAN"
27+#FC="$GFORTRAN"
28 ac_ext=${ac_fc_srcext-f}
29 ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
30 ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
31diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
32index 7d97fed..3f9f484 100644
33--- a/libgfortran/configure.ac
34+++ b/libgfortran/configure.ac
35@@ -227,7 +227,7 @@ AC_SUBST(enable_static)
36
37 # We need gfortran to compile parts of the library
38 #AC_PROG_FC(gfortran)
39-FC="$GFORTRAN"
40+#FC="$GFORTRAN"
41 AC_PROG_FC(gfortran)
42
43 # extra LD Flags which are required for targets
44--
451.7.10.4
46
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/libgcc-sjlj-check.patch b/meta/recipes-devtools/gcc/gcc-4.8/0026-libgcc-sjlj-check.patch
index c2fe79217c..d4efab956a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/libgcc-sjlj-check.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0026-libgcc-sjlj-check.patch
@@ -1,3 +1,8 @@
1From 08c2398445e6cac282488f64ae6bf29cbcd8db23 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:20:50 +0400
4Subject: [PATCH 26/35] libgcc-sjlj-check
5
1ac_fn_c_try_compile doesnt seem to keep the intermediate files 6ac_fn_c_try_compile doesnt seem to keep the intermediate files
2which are needed for sjlj test to pass since it greps into the 7which are needed for sjlj test to pass since it greps into the
3generated file. So we run the compiler command using AC_TRY_COMMAND 8generated file. So we run the compiler command using AC_TRY_COMMAND
@@ -6,11 +11,16 @@ which then generates the needed .s file
6Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
7 12
8Upstream-Status: Pending 13Upstream-Status: Pending
9Index: trunk/libgcc/configure 14---
10=================================================================== 15 libgcc/configure | 10 ++++++----
11--- trunk.orig/libgcc/configure 2012-03-01 22:59:10.112444433 -0800 16 libgcc/configure.ac | 10 ++++------
12+++ trunk/libgcc/configure 2012-03-01 22:59:50.424446325 -0800 17 2 files changed, 10 insertions(+), 10 deletions(-)
13@@ -4525,17 +4525,19 @@ 18
19diff --git a/libgcc/configure b/libgcc/configure
20index 1425df6..d18e3cb 100644
21--- a/libgcc/configure
22+++ b/libgcc/configure
23@@ -4208,17 +4208,19 @@ void foo ()
14 } 24 }
15 25
16 _ACEOF 26 _ACEOF
@@ -34,11 +44,11 @@ Index: trunk/libgcc/configure
34 rm -f conftest* 44 rm -f conftest*
35 45
36 fi 46 fi
37Index: trunk/libgcc/configure.ac 47diff --git a/libgcc/configure.ac b/libgcc/configure.ac
38=================================================================== 48index 8b7aba5..c7c9644 100644
39--- trunk.orig/libgcc/configure.ac 2012-03-01 22:59:10.128444406 -0800 49--- a/libgcc/configure.ac
40+++ trunk/libgcc/configure.ac 2012-03-01 22:59:50.428446373 -0800 50+++ b/libgcc/configure.ac
41@@ -209,16 +209,14 @@ 51@@ -216,16 +216,14 @@ void foo ()
42 bar(); 52 bar();
43 } 53 }
44 ])]) 54 ])])
@@ -59,3 +69,6 @@ Index: trunk/libgcc/configure.ac
59 rm -f conftest* 69 rm -f conftest*
60 ]) 70 ])
61 71
72--
731.7.10.4
74
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/cpp-honor-sysroot.patch b/meta/recipes-devtools/gcc/gcc-4.8/0027-cpp-honor-sysroot.patch
index 731067741d..05e95219f8 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/cpp-honor-sysroot.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0027-cpp-honor-sysroot.patch
@@ -1,24 +1,46 @@
1From a0f9bd09c816ad29ecf7c29d6c27f7df97710364 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:22:00 +0400
4Subject: [PATCH 27/35] cpp: honor sysroot.
5
1Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile 6Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
2preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location 7preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
3rather than the --sysroot option specified on the commandline. If access to that directory is 8rather than the --sysroot option specified on the commandline. If access to that directory is
4permission denied (unreadable), gcc will error. 9permission denied (unreadable), gcc will error.
5 10
6This happens when ccache is in use due to the fact it uses preprocessed source files. 11This happens when ccache is in use due to the fact it uses preprocessed source files.
7 12
8The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix, 13The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
9-isystem, -isysroot happen and the correct sysroot is used. 14-isystem, -isysroot happen and the correct sysroot is used.
10 15
11[YOCTO #2074] 16[YOCTO #2074]
12 17
13Upstream-Status: Pending
14
15RP 2012/04/13 18RP 2012/04/13
16 19
17Index: gcc-4_6-branch/gcc/gcc.c 20Signed-off-by: Khem Raj <raj.khem@gmail.com>
18=================================================================== 21
19--- gcc-4_6-branch.orig/gcc/gcc.c 2012-04-13 12:24:37.939671140 +0000 22Upstream-Status: Pending
20+++ gcc-4_6-branch/gcc/gcc.c 2012-04-13 12:24:54.439670688 +0000 23---
21@@ -953,7 +953,7 @@ 24 gcc/cp/lang-specs.h | 2 +-
25 gcc/gcc.c | 2 +-
26 2 files changed, 2 insertions(+), 2 deletions(-)
27
28diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
29index a001c3e..1aae1e4 100644
30--- a/gcc/cp/lang-specs.h
31+++ b/gcc/cp/lang-specs.h
32@@ -63,5 +63,5 @@ along with GCC; see the file COPYING3. If not see
33 {".ii", "@c++-cpp-output", 0, 0, 0},
34 {"@c++-cpp-output",
35 "%{!M:%{!MM:%{!E:\
36- cc1plus -fpreprocessed %i %(cc1_options) %2\
37+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\
38 %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
39diff --git a/gcc/gcc.c b/gcc/gcc.c
40index 51062aa..cf6b99e 100644
41--- a/gcc/gcc.c
42+++ b/gcc/gcc.c
43@@ -1042,7 +1042,7 @@ static const struct compiler default_compilers[] =
22 %W{o*:--output-pch=%*}}%V}}}}}}", 0, 0, 0}, 44 %W{o*:--output-pch=%*}}%V}}}}}}", 0, 0, 0},
23 {".i", "@cpp-output", 0, 0, 0}, 45 {".i", "@cpp-output", 0, 0, 0},
24 {"@cpp-output", 46 {"@cpp-output",
@@ -27,14 +49,6 @@ Index: gcc-4_6-branch/gcc/gcc.c
27 {".s", "@assembler", 0, 0, 0}, 49 {".s", "@assembler", 0, 0, 0},
28 {"@assembler", 50 {"@assembler",
29 "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, 51 "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
30Index: gcc-4_6-branch/gcc/cp/lang-specs.h 52--
31=================================================================== 531.7.10.4
32--- gcc-4_6-branch.orig/gcc/cp/lang-specs.h 2012-04-13 12:25:01.019670594 +0000 54
33+++ gcc-4_6-branch/gcc/cp/lang-specs.h 2012-04-13 12:25:07.567670180 +0000
34@@ -64,5 +64,5 @@
35 {".ii", "@c++-cpp-output", 0, 0, 0},
36 {"@c++-cpp-output",
37 "%{!M:%{!MM:%{!E:\
38- cc1plus -fpreprocessed %i %(cc1_options) %2\
39+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\
40 %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0028-MIPS64-Default-to-N64-ABI.patch b/meta/recipes-devtools/gcc/gcc-4.8/0028-MIPS64-Default-to-N64-ABI.patch
new file mode 100644
index 0000000000..263872069c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0028-MIPS64-Default-to-N64-ABI.patch
@@ -0,0 +1,31 @@
1From 301e18d4711db5925e767fad08dffa9cfe0a2f1f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:23:08 +0400
4Subject: [PATCH 28/35] MIPS64: Default to N64 ABI
5
6MIPS64 defaults to n32 ABI, this patch makes it
7so that it defaults to N64 ABI
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Upstream-Status: Inappropriate [OE config specific]
12---
13 gcc/config.gcc | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/gcc/config.gcc b/gcc/config.gcc
17index 1a0be50..989c2fb 100644
18--- a/gcc/config.gcc
19+++ b/gcc/config.gcc
20@@ -1797,7 +1797,7 @@ mips*-mti-linux*)
21 mips64*-*-linux* | mipsisa64*-*-linux*)
22 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h mips/linux-common.h"
23 tmake_file="${tmake_file} mips/t-linux64"
24- tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
25+ tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_64"
26 case ${target} in
27 mips64el-st-linux-gnu)
28 tm_file="${tm_file} mips/st.h"
29--
301.7.10.4
31
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/GLIBC_DYNAMIC_LINKER.patch b/meta/recipes-devtools/gcc/gcc-4.8/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
index 180b2393e6..0e8fffcd8b 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/GLIBC_DYNAMIC_LINKER.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -1,19 +1,39 @@
1From 29d12344fb682a053de53eb08b95704cf3b67af2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:24:50 +0400
4Subject: [PATCH 29/35] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
5 relative to SYSTEMLIBS_DIR
6
1This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER 7This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
2relative to SYSTEMLIBS_DIR which can be set in generated headers 8relative to SYSTEMLIBS_DIR which can be set in generated headers
3This breaks the assumption of hardcoded multilib in gcc 9This breaks the assumption of hardcoded multilib in gcc
4Change is only for the supported architectures in OE including 10Change is only for the supported architectures in OE including
5SH, spart, alpha for possible future support (if any) 11SH, sparc, alpha for possible future support (if any)
6 12
7Removes the do_headerfix task in metadata 13Removes the do_headerfix task in metadata
8 14
9Signed-off-by: Khem Raj 15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16
10Upstream-Status: Inappropriate [OE configuration] 17Upstream-Status: Inappropriate [OE configuration]
18---
19 gcc/config/alpha/linux-elf.h | 4 ++--
20 gcc/config/arm/linux-eabi.h | 4 ++--
21 gcc/config/arm/linux-elf.h | 2 +-
22 gcc/config/i386/linux.h | 2 +-
23 gcc/config/i386/linux64.h | 6 +++---
24 gcc/config/mips/linux.h | 2 +-
25 gcc/config/mips/linux64.h | 8 ++++----
26 gcc/config/rs6000/linux64.h | 8 ++++----
27 gcc/config/sh/linux.h | 2 +-
28 gcc/config/sparc/linux.h | 2 +-
29 gcc/config/sparc/linux64.h | 4 ++--
30 11 files changed, 22 insertions(+), 22 deletions(-)
11 31
12Index: gcc-4.8.0/gcc/config/alpha/linux-elf.h 32diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
13=================================================================== 33index 84e0596..3a59d71 100644
14--- gcc-4.8.0.orig/gcc/config/alpha/linux-elf.h 2013-01-10 12:38:27.000000000 -0800 34--- a/gcc/config/alpha/linux-elf.h
15+++ gcc-4.8.0/gcc/config/alpha/linux-elf.h 2013-03-26 13:55:08.825897207 -0700 35+++ b/gcc/config/alpha/linux-elf.h
16@@ -23,8 +23,8 @@ 36@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
17 #define EXTRA_SPECS \ 37 #define EXTRA_SPECS \
18 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER }, 38 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
19 39
@@ -24,10 +44,10 @@ Index: gcc-4.8.0/gcc/config/alpha/linux-elf.h
24 #if DEFAULT_LIBC == LIBC_UCLIBC 44 #if DEFAULT_LIBC == LIBC_UCLIBC
25 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" 45 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
26 #elif DEFAULT_LIBC == LIBC_GLIBC 46 #elif DEFAULT_LIBC == LIBC_GLIBC
27Index: gcc-4.8.0/gcc/config/arm/linux-eabi.h 47diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
28=================================================================== 48index 4a425c8..80f454d 100644
29--- gcc-4.8.0.orig/gcc/config/arm/linux-eabi.h 2013-01-10 12:38:27.000000000 -0800 49--- a/gcc/config/arm/linux-eabi.h
30+++ gcc-4.8.0/gcc/config/arm/linux-eabi.h 2013-03-26 13:56:14.901898372 -0700 50+++ b/gcc/config/arm/linux-eabi.h
31@@ -68,8 +68,8 @@ 51@@ -68,8 +68,8 @@
32 GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ 52 GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
33 53
@@ -39,10 +59,10 @@ Index: gcc-4.8.0/gcc/config/arm/linux-eabi.h
39 #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT 59 #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
40 60
41 #define GLIBC_DYNAMIC_LINKER \ 61 #define GLIBC_DYNAMIC_LINKER \
42Index: gcc-4.8.0/gcc/config/arm/linux-elf.h 62diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
43=================================================================== 63index 753dc3a..d593967 100644
44--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-03-26 13:54:13.000000000 -0700 64--- a/gcc/config/arm/linux-elf.h
45+++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-26 13:55:08.825897207 -0700 65+++ b/gcc/config/arm/linux-elf.h
46@@ -57,7 +57,7 @@ 66@@ -57,7 +57,7 @@
47 67
48 #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" 68 #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
@@ -52,21 +72,21 @@ Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
52 72
53 #define LINUX_TARGET_LINK_SPEC "%{h*} \ 73 #define LINUX_TARGET_LINK_SPEC "%{h*} \
54 %{static:-Bstatic} \ 74 %{static:-Bstatic} \
55Index: gcc-4.8.0/gcc/config/i386/linux.h 75diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
56=================================================================== 76index 3c95ee0..33b8acd 100644
57--- gcc-4.8.0.orig/gcc/config/i386/linux.h 2013-01-10 12:38:27.000000000 -0800 77--- a/gcc/config/i386/linux.h
58+++ gcc-4.8.0/gcc/config/i386/linux.h 2013-03-26 13:55:08.825897207 -0700 78+++ b/gcc/config/i386/linux.h
59@@ -20,4 +20,4 @@ 79@@ -20,4 +20,4 @@ along with GCC; see the file COPYING3. If not see
60 <http://www.gnu.org/licenses/>. */ 80 <http://www.gnu.org/licenses/>. */
61 81
62 #define GNU_USER_LINK_EMULATION "elf_i386" 82 #define GNU_USER_LINK_EMULATION "elf_i386"
63-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" 83-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
64+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2" 84+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
65Index: gcc-4.8.0/gcc/config/i386/linux64.h 85diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
66=================================================================== 86index b793e08..da788b8 100644
67--- gcc-4.8.0.orig/gcc/config/i386/linux64.h 2013-01-10 12:38:27.000000000 -0800 87--- a/gcc/config/i386/linux64.h
68+++ gcc-4.8.0/gcc/config/i386/linux64.h 2013-03-26 13:55:08.825897207 -0700 88+++ b/gcc/config/i386/linux64.h
69@@ -27,6 +27,6 @@ 89@@ -27,6 +27,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
70 #define GNU_USER_LINK_EMULATION64 "elf_x86_64" 90 #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
71 #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" 91 #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
72 92
@@ -76,21 +96,21 @@ Index: gcc-4.8.0/gcc/config/i386/linux64.h
76+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2" 96+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
77+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2" 97+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
78+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2" 98+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
79Index: gcc-4.8.0/gcc/config/mips/linux.h 99diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
80=================================================================== 100index 9b4c68d..7ee5ba8 100644
81--- gcc-4.8.0.orig/gcc/config/mips/linux.h 2013-01-10 12:38:27.000000000 -0800 101--- a/gcc/config/mips/linux.h
82+++ gcc-4.8.0/gcc/config/mips/linux.h 2013-03-26 13:55:08.825897207 -0700 102+++ b/gcc/config/mips/linux.h
83@@ -17,4 +17,4 @@ 103@@ -17,4 +17,4 @@ You should have received a copy of the GNU General Public License
84 along with GCC; see the file COPYING3. If not see 104 along with GCC; see the file COPYING3. If not see
85 <http://www.gnu.org/licenses/>. */ 105 <http://www.gnu.org/licenses/>. */
86 106
87-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" 107-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
88+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld.so.1" 108+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld.so.1"
89Index: gcc-4.8.0/gcc/config/mips/linux64.h 109diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h
90=================================================================== 110index dbba47a..c7ed573 100644
91--- gcc-4.8.0.orig/gcc/config/mips/linux64.h 2013-01-10 12:38:27.000000000 -0800 111--- a/gcc/config/mips/linux64.h
92+++ gcc-4.8.0/gcc/config/mips/linux64.h 2013-03-26 13:55:08.825897207 -0700 112+++ b/gcc/config/mips/linux64.h
93@@ -22,10 +22,10 @@ 113@@ -22,10 +22,10 @@ along with GCC; see the file COPYING3. If not see
94 #define GNU_USER_LINK_EMULATION64 "elf64%{EB:b}%{EL:l}tsmip" 114 #define GNU_USER_LINK_EMULATION64 "elf64%{EB:b}%{EL:l}tsmip"
95 #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" 115 #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
96 116
@@ -105,11 +125,11 @@ Index: gcc-4.8.0/gcc/config/mips/linux64.h
105 #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" 125 #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
106 #define GNU_USER_DYNAMIC_LINKERN32 \ 126 #define GNU_USER_DYNAMIC_LINKERN32 \
107 CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ 127 CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
108Index: gcc-4.8.0/gcc/config/rs6000/linux64.h 128diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
109=================================================================== 129index dc6f67f..bc60769 100644
110--- gcc-4.8.0.orig/gcc/config/rs6000/linux64.h 2013-01-10 12:38:27.000000000 -0800 130--- a/gcc/config/rs6000/linux64.h
111+++ gcc-4.8.0/gcc/config/rs6000/linux64.h 2013-03-26 13:55:08.825897207 -0700 131+++ b/gcc/config/rs6000/linux64.h
112@@ -360,10 +360,10 @@ 132@@ -360,10 +360,10 @@ extern int dot_symbols;
113 #undef LINK_OS_DEFAULT_SPEC 133 #undef LINK_OS_DEFAULT_SPEC
114 #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" 134 #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
115 135
@@ -124,11 +144,11 @@ Index: gcc-4.8.0/gcc/config/rs6000/linux64.h
124 #if DEFAULT_LIBC == LIBC_UCLIBC 144 #if DEFAULT_LIBC == LIBC_UCLIBC
125 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" 145 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
126 #elif DEFAULT_LIBC == LIBC_GLIBC 146 #elif DEFAULT_LIBC == LIBC_GLIBC
127Index: gcc-4.8.0/gcc/config/sh/linux.h 147diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
128=================================================================== 148index 9e8f32d..86bf81e 100644
129--- gcc-4.8.0.orig/gcc/config/sh/linux.h 2013-03-13 20:01:53.000000000 -0700 149--- a/gcc/config/sh/linux.h
130+++ gcc-4.8.0/gcc/config/sh/linux.h 2013-03-26 13:55:08.829897236 -0700 150+++ b/gcc/config/sh/linux.h
131@@ -43,7 +43,7 @@ 151@@ -43,7 +43,7 @@ along with GCC; see the file COPYING3. If not see
132 152
133 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack 153 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
134 154
@@ -137,11 +157,11 @@ Index: gcc-4.8.0/gcc/config/sh/linux.h
137 157
138 #undef SUBTARGET_LINK_EMUL_SUFFIX 158 #undef SUBTARGET_LINK_EMUL_SUFFIX
139 #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" 159 #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
140Index: gcc-4.8.0/gcc/config/sparc/linux.h 160diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
141=================================================================== 161index 49283d3..6f0b03a 100644
142--- gcc-4.8.0.orig/gcc/config/sparc/linux.h 2013-01-10 12:38:27.000000000 -0800 162--- a/gcc/config/sparc/linux.h
143+++ gcc-4.8.0/gcc/config/sparc/linux.h 2013-03-26 13:55:08.829897236 -0700 163+++ b/gcc/config/sparc/linux.h
144@@ -83,7 +83,7 @@ 164@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
145 When the -shared link option is used a final link is not being 165 When the -shared link option is used a final link is not being
146 done. */ 166 done. */
147 167
@@ -150,11 +170,11 @@ Index: gcc-4.8.0/gcc/config/sparc/linux.h
150 170
151 #undef LINK_SPEC 171 #undef LINK_SPEC
152 #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ 172 #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
153Index: gcc-4.8.0/gcc/config/sparc/linux64.h 173diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
154=================================================================== 174index 7d48e96..b01993f 100644
155--- gcc-4.8.0.orig/gcc/config/sparc/linux64.h 2013-01-10 12:38:27.000000000 -0800 175--- a/gcc/config/sparc/linux64.h
156+++ gcc-4.8.0/gcc/config/sparc/linux64.h 2013-03-26 13:55:08.829897236 -0700 176+++ b/gcc/config/sparc/linux64.h
157@@ -92,8 +92,8 @@ 177@@ -92,8 +92,8 @@ along with GCC; see the file COPYING3. If not see
158 When the -shared link option is used a final link is not being 178 When the -shared link option is used a final link is not being
159 done. */ 179 done. */
160 180
@@ -165,3 +185,6 @@ Index: gcc-4.8.0/gcc/config/sparc/linux64.h
165 185
166 #ifdef SPARC_BI_ARCH 186 #ifdef SPARC_BI_ARCH
167 187
188--
1891.7.10.4
190
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-argument-list-too-long.patch b/meta/recipes-devtools/gcc/gcc-4.8/0030-gcc-Fix-argument-list-too-long-error.patch
index 70d3c53a84..2ceaff64f7 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-argument-list-too-long.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0030-gcc-Fix-argument-list-too-long-error.patch
@@ -1,3 +1,8 @@
1From c1816c160156f99c34e6a0a0311bb0219326804e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:26:37 +0400
4Subject: [PATCH 30/35] gcc: Fix argument list too long error.
5
1There would be an "Argument list too long" error when the 6There would be an "Argument list too long" error when the
2build directory is longer than 200, this is caused by: 7build directory is longer than 200, this is caused by:
3 8
@@ -10,6 +15,7 @@ The "tr ' ' '\012'" was used for translating the space to "\n", the
10$(sort list) doesn't need this. 15$(sort list) doesn't need this.
11 16
12Signed-off-by: Robert Yang <liezhi.yang@windriver.com> 17Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 19
14Upstream-Status: Pending 20Upstream-Status: Pending
15--- 21---
@@ -17,9 +23,10 @@ Upstream-Status: Pending
17 1 file changed, 1 insertion(+), 1 deletion(-) 23 1 file changed, 1 insertion(+), 1 deletion(-)
18 24
19diff --git a/gcc/Makefile.in b/gcc/Makefile.in 25diff --git a/gcc/Makefile.in b/gcc/Makefile.in
26index 2320497..8562a62 100644
20--- a/gcc/Makefile.in 27--- a/gcc/Makefile.in
21+++ b/gcc/Makefile.in 28+++ b/gcc/Makefile.in
22@@ -4553,7 +4553,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype 29@@ -4627,7 +4627,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
23 # We keep the directory structure for files in config or c-family and .def 30 # We keep the directory structure for files in config or c-family and .def
24 # files. All other files are flattened to a single directory. 31 # files. All other files are flattened to a single directory.
25 $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) 32 $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
@@ -29,5 +36,5 @@ diff --git a/gcc/Makefile.in b/gcc/Makefile.in
29 for file in $$headers; do \ 36 for file in $$headers; do \
30 if [ -f $$file ] ; then \ 37 if [ -f $$file ] ; then \
31-- 38--
321.7.10.2 391.7.10.4
33 40
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/disablesdt.patch b/meta/recipes-devtools/gcc/gcc-4.8/0031-Disable-sdt.patch
index 8946afc11a..c714239bea 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/disablesdt.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0031-Disable-sdt.patch
@@ -1,17 +1,27 @@
1We don't list dtrace in DEPENDS so we shouldn't be depending on this header. 1From eb70cb2785af7171897f363298bbfcd83de5ec57 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:28:10 +0400
4Subject: [PATCH 31/35] Disable sdt.
5
6We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
2It may or may not exist from preivous builds though. To be determinstic, disable 7It may or may not exist from preivous builds though. To be determinstic, disable
3sdt.h usage always. This avoids build failures if the header is removed after configure 8sdt.h usage always. This avoids build failures if the header is removed after configure
4but before libgcc is compiled for example. 9but before libgcc is compiled for example.
5 10
6RP 2012/8/7 11RP 2012/8/7
7 12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14
8Upstream-Status: Inappropriate [hack] 15Upstream-Status: Inappropriate [hack]
16---
17 gcc/configure | 12 ++++++------
18 1 file changed, 6 insertions(+), 6 deletions(-)
9 19
10Index: git/gcc/configure 20diff --git a/gcc/configure b/gcc/configure
11=================================================================== 21index d587993..8bc0c98 100755
12--- git.orig/gcc/configure 2012-08-07 21:18:42.319247701 +0000 22--- a/gcc/configure
13+++ git/gcc/configure 2012-08-07 21:19:08.939247082 +0000 23+++ b/gcc/configure
14@@ -26758,12 +26758,12 @@ 24@@ -26792,12 +26792,12 @@ fi
15 { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 25 { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
16 $as_echo_n "checking sys/sdt.h in the target C library... " >&6; } 26 $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
17 have_sys_sdt_h=no 27 have_sys_sdt_h=no
@@ -30,3 +40,6 @@ Index: git/gcc/configure
30 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5 40 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
31 $as_echo "$have_sys_sdt_h" >&6; } 41 $as_echo "$have_sys_sdt_h" >&6; }
32 42
43--
441.7.10.4
45
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/libtool.patch b/meta/recipes-devtools/gcc/gcc-4.8/0032-libtool.patch
index 9580b23d8e..3b3d1b621b 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/libtool.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0032-libtool.patch
@@ -1,8 +1,13 @@
1From 6c715fcfa262adadca81c68a1f3f69aa3187a501 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:29:11 +0400
4Subject: [PATCH 32/35] libtool
5
1libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 6libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
2when running on am x86_64 build host. 7when running on am x86_64 build host.
3 8
4This patch stops this speading to libdir in the libstdc++.la file within libtool. 9This patch stops this speading to libdir in the libstdc++.la file within libtool.
5Aguably, it shouldn't be passing this into libtool in the first place but 10Arguably, it shouldn't be passing this into libtool in the first place but
6for now this resolves the nastiest problems this causes. 11for now this resolves the nastiest problems this causes.
7 12
8func_normal_abspath would resolve an empty path to `pwd` so we need 13func_normal_abspath would resolve an empty path to `pwd` so we need
@@ -10,13 +15,18 @@ to filter the zero case.
10 15
11RP 2012/8/24 16RP 2012/8/24
12 17
18Signed-off-by: Khem Raj <raj.khem@gmail.com>
19
13Upstream-Status: Pending 20Upstream-Status: Pending
21---
22 ltmain.sh | 4 ++++
23 1 file changed, 4 insertions(+)
14 24
15Index: git/ltmain.sh 25diff --git a/ltmain.sh b/ltmain.sh
16=================================================================== 26index a03433f..46f47c2 100644
17--- git.orig/ltmain.sh 2012-08-24 11:45:58.597087961 +0000 27--- a/ltmain.sh
18+++ git/ltmain.sh 2012-08-24 12:18:37.961042581 +0000 28+++ b/ltmain.sh
19@@ -6359,6 +6359,10 @@ 29@@ -6359,6 +6359,10 @@ func_mode_link ()
20 func_warning "ignoring multiple \`-rpath's for a libtool library" 30 func_warning "ignoring multiple \`-rpath's for a libtool library"
21 31
22 install_libdir="$1" 32 install_libdir="$1"
@@ -27,3 +37,6 @@ Index: git/ltmain.sh
27 37
28 oldlibs= 38 oldlibs=
29 if test -z "$rpath"; then 39 if test -z "$rpath"; then
40--
411.7.10.4
42
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/gcc-armv4-pass-fix-v4bx-to-ld.patch b/meta/recipes-devtools/gcc/gcc-4.8/0033-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
index 7e03a3a8a8..199984d655 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/gcc-armv4-pass-fix-v4bx-to-ld.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0033-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
@@ -1,21 +1,30 @@
1From 97e4591c20310425e7aca0e6712a8d9480e7744c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:30:32 +0400
4Subject: [PATCH 33/35] gcc: armv4: pass fix-v4bx to linker to support EABI.
5
1The LINK_SPEC for linux gets overwritten by linux-eabi.h which 6The LINK_SPEC for linux gets overwritten by linux-eabi.h which
2means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result 7means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
3the option is not passed to linker when chosing march=armv4 8the option is not passed to linker when chosing march=armv4
4This patch redefines this in linux-eabi.h and reinserts it 9This patch redefines this in linux-eabi.h and reinserts it
5for eabi defaulting toolchains. 10for eabi defaulting toolchains.
6 11
7We might want to send it upstream 12We might want to send it upstream.
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
8 15
9Upstream-Status: Pending 16Upstream-Status: Pending
17---
18 gcc/config/arm/linux-eabi.h | 6 +++++-
19 1 file changed, 5 insertions(+), 1 deletion(-)
10 20
11-Khem 21diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
12Index: gcc-4_7-branch/gcc/config/arm/linux-eabi.h 22index 80f454d..4db3eb9 100644
13=================================================================== 23--- a/gcc/config/arm/linux-eabi.h
14--- gcc-4_7-branch.orig/gcc/config/arm/linux-eabi.h 2012-08-21 22:54:12.448453417 -0700 24+++ b/gcc/config/arm/linux-eabi.h
15+++ gcc-4_7-branch/gcc/config/arm/linux-eabi.h 2012-08-21 23:05:18.008478722 -0700 25@@ -77,10 +77,14 @@
16@@ -78,10 +78,14 @@ 26 %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
17 %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ 27 %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
18 %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
19 28
20+/* For armv4 we pass --fix-v4bx to linker to support EABI */ 29+/* For armv4 we pass --fix-v4bx to linker to support EABI */
21+#undef TARGET_FIX_V4BX_SPEC 30+#undef TARGET_FIX_V4BX_SPEC
@@ -29,3 +38,6 @@ Index: gcc-4_7-branch/gcc/config/arm/linux-eabi.h
29 LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ 38 LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
30 LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) 39 LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
31 40
41--
421.7.10.4
43
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/use-ml-conf-files-from-B.patch b/meta/recipes-devtools/gcc/gcc-4.8/0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch
index 4d229247a4..66b9f89a13 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/use-ml-conf-files-from-B.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch
@@ -1,15 +1,27 @@
1From fc5e4beaea856a2b486c770ad3addc0f5bb3100e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:33:04 +0400
4Subject: [PATCH 34/35] Use the multilib config files from ${B} instead of
5 using the ones from ${S}
6
1Use the multilib config files from ${B} instead of using the ones from ${S} 7Use the multilib config files from ${B} instead of using the ones from ${S}
2so that the source can be shared between gcc-cross-initial, 8so that the source can be shared between gcc-cross-initial,
3gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build. 9gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
4 10
5Upstream-Status: Inappropriate [configuration] 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
6Signed-off-by: Constantin Musca <constantinx.musca@intel.com> 12Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
7 13
8Index: gcc-4.7.2/gcc/configure 14Upstream-Status: Inappropriate [configuration]
9=================================================================== 15---
10--- gcc-4.7.2.orig/gcc/configure 16 gcc/configure | 22 ++++++++++++++++++----
11+++ gcc-4.7.2/gcc/configure 17 gcc/configure.ac | 22 ++++++++++++++++++----
12@@ -11717,10 +11717,20 @@ done 18 2 files changed, 36 insertions(+), 8 deletions(-)
19
20diff --git a/gcc/configure b/gcc/configure
21index 8bc0c98..3cd0817 100755
22--- a/gcc/configure
23+++ b/gcc/configure
24@@ -11519,10 +11519,20 @@ done
13 tmake_file_= 25 tmake_file_=
14 for f in ${tmake_file} 26 for f in ${tmake_file}
15 do 27 do
@@ -34,7 +46,7 @@ Index: gcc-4.7.2/gcc/configure
34 done 46 done
35 tmake_file="${tmake_file_}" 47 tmake_file="${tmake_file_}"
36 48
37@@ -11731,6 +11741,10 @@ tm_file_list="options.h" 49@@ -11533,6 +11543,10 @@ tm_file_list="options.h"
38 tm_include_list="options.h insn-constants.h" 50 tm_include_list="options.h insn-constants.h"
39 for f in $tm_file; do 51 for f in $tm_file; do
40 case $f in 52 case $f in
@@ -45,11 +57,11 @@ Index: gcc-4.7.2/gcc/configure
45 ./* ) 57 ./* )
46 f=`echo $f | sed 's/^..//'` 58 f=`echo $f | sed 's/^..//'`
47 tm_file_list="${tm_file_list} $f" 59 tm_file_list="${tm_file_list} $f"
48Index: gcc-4.7.2/gcc/configure.ac 60diff --git a/gcc/configure.ac b/gcc/configure.ac
49=================================================================== 61index 5e5e84f..415a6df 100644
50--- gcc-4.7.2.orig/gcc/configure.ac 62--- a/gcc/configure.ac
51+++ gcc-4.7.2/gcc/configure.ac 63+++ b/gcc/configure.ac
52@@ -1701,10 +1701,20 @@ done 64@@ -1700,10 +1700,20 @@ done
53 tmake_file_= 65 tmake_file_=
54 for f in ${tmake_file} 66 for f in ${tmake_file}
55 do 67 do
@@ -74,7 +86,7 @@ Index: gcc-4.7.2/gcc/configure.ac
74 done 86 done
75 tmake_file="${tmake_file_}" 87 tmake_file="${tmake_file_}"
76 88
77@@ -1715,6 +1725,10 @@ tm_file_list="options.h" 89@@ -1714,6 +1724,10 @@ tm_file_list="options.h"
78 tm_include_list="options.h insn-constants.h" 90 tm_include_list="options.h insn-constants.h"
79 for f in $tm_file; do 91 for f in $tm_file; do
80 case $f in 92 case $f in
@@ -85,3 +97,6 @@ Index: gcc-4.7.2/gcc/configure.ac
85 ./* ) 97 ./* )
86 f=`echo $f | sed 's/^..//'` 98 f=`echo $f | sed 's/^..//'`
87 tm_file_list="${tm_file_list} $f" 99 tm_file_list="${tm_file_list} $f"
100--
1011.7.10.4
102
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/wcast-qual-PR55383.patch b/meta/recipes-devtools/gcc/gcc-4.8/0035-wcast-qual-PR-55383.patch
index 1c22bd8dbf..be4cf4a737 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8/wcast-qual-PR55383.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.8/0035-wcast-qual-PR-55383.patch
@@ -1,19 +1,28 @@
1From deffdb0b2497a106061d3ea2c6a3fef4fba3445e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:39:51 +0400
4Subject: [PATCH 35/35] wcast-qual PR/55383
5
1This is a backport from gcc bugzilla 6This is a backport from gcc bugzilla
2 7
3http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55383 8http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55383
4 9
5fixes wrong warning behavior which has no workaround 10This commit fixes a wrong warning behavior. This bug which has no
6other than disabling the warning 11workaround other than disabling the warning.
7
8Upstream-Status: Backport
9 12
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 13Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 14
12Index: gcc-4.8.0/gcc/c/c-typeck.c 15Upstream-Status: Backport
13=================================================================== 16---
14--- gcc-4.8.0.orig/gcc/c/c-typeck.c 2013-01-24 08:59:44.000000000 -0800 17 gcc/c/c-typeck.c | 2 +-
15+++ gcc-4.8.0/gcc/c/c-typeck.c 2013-03-26 17:28:30.286137332 -0700 18 gcc/testsuite/c-c++-common/Wcast-qual-1.c | 6 +++---
16@@ -4464,7 +4464,7 @@ 19 2 files changed, 4 insertions(+), 4 deletions(-)
20
21diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c
22index ddb6d39..c624120 100644
23--- a/gcc/c/c-typeck.c
24+++ b/gcc/c/c-typeck.c
25@@ -4464,7 +4464,7 @@ handle_warn_cast_qual (location_t loc, tree type, tree otype)
17 /* There are qualifiers present in IN_OTYPE that are not present 26 /* There are qualifiers present in IN_OTYPE that are not present
18 in IN_TYPE. */ 27 in IN_TYPE. */
19 warning_at (loc, OPT_Wcast_qual, 28 warning_at (loc, OPT_Wcast_qual,
@@ -22,11 +31,11 @@ Index: gcc-4.8.0/gcc/c/c-typeck.c
22 discarded); 31 discarded);
23 32
24 if (added || discarded) 33 if (added || discarded)
25Index: gcc-4.8.0/gcc/testsuite/c-c++-common/Wcast-qual-1.c 34diff --git a/gcc/testsuite/c-c++-common/Wcast-qual-1.c b/gcc/testsuite/c-c++-common/Wcast-qual-1.c
26=================================================================== 35index 640e4f0..56382c7 100644
27--- gcc-4.8.0.orig/gcc/testsuite/c-c++-common/Wcast-qual-1.c 2011-04-07 14:47:38.000000000 -0700 36--- a/gcc/testsuite/c-c++-common/Wcast-qual-1.c
28+++ gcc-4.8.0/gcc/testsuite/c-c++-common/Wcast-qual-1.c 2013-03-26 17:31:56.454141202 -0700 37+++ b/gcc/testsuite/c-c++-common/Wcast-qual-1.c
29@@ -85,11 +85,11 @@ 38@@ -85,11 +85,11 @@ f3 (void ***bar)
30 void 39 void
31 f4 (void * const **bar) 40 f4 (void * const **bar)
32 { 41 {
@@ -41,3 +50,6 @@ Index: gcc-4.8.0/gcc/testsuite/c-c++-common/Wcast-qual-1.c
41 void * const * const * p19 = (void * const * const *) bar; 50 void * const * const * p19 = (void * const * const *) bar;
42 const void * const * const *p21 = (const void * const * const *) bar; 51 const void * const * const *p21 = (const void * const * const *) bar;
43 } 52 }
53--
541.7.10.4
55
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/100-uclibc-conf.patch b/meta/recipes-devtools/gcc/gcc-4.8/100-uclibc-conf.patch
deleted file mode 100644
index b2981e0791..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/100-uclibc-conf.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1Upstream-Status: Pending
2
3Index: gcc-4.6.0/contrib/regression/objs-gcc.sh
4===================================================================
5--- gcc-4.6.0.orig/contrib/regression/objs-gcc.sh
6+++ gcc-4.6.0/contrib/regression/objs-gcc.sh
7@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H
8 then
9 make all-gdb all-dejagnu all-ld || exit 1
10 make install-gdb install-dejagnu install-ld || exit 1
11+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
12+ then
13+ make all-gdb all-dejagnu all-ld || exit 1
14+ make install-gdb install-dejagnu install-ld || exit 1
15 elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
16 make bootstrap || exit 1
17 make install || exit 1
18Index: gcc-4.6.0/libjava/classpath/ltconfig
19===================================================================
20--- gcc-4.6.0.orig/libjava/classpath/ltconfig
21+++ gcc-4.6.0/libjava/classpath/ltconfig
22@@ -603,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
23
24 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
25 case $host_os in
26-linux-gnu*) ;;
27+linux-gnu*|linux-uclibc*) ;;
28 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
29 esac
30
31@@ -1247,7 +1247,7 @@ linux-gnuoldld* | linux-gnuaout* | linux
32 ;;
33
34 # This must be Linux ELF.
35-linux-gnu*)
36+linux*)
37 version_type=linux
38 need_lib_prefix=no
39 need_version=no
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/301-missing-execinfo_h.patch b/meta/recipes-devtools/gcc/gcc-4.8/301-missing-execinfo_h.patch
deleted file mode 100644
index 9589822b8d..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/301-missing-execinfo_h.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Upstream-Status: Pending
2
3Index: gcc-4.6.0/boehm-gc/include/gc.h
4===================================================================
5--- gcc-4.6.0.orig/boehm-gc/include/gc.h
6+++ gcc-4.6.0/boehm-gc/include/gc.h
7@@ -503,7 +503,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_of
8 #if defined(__linux__) || defined(__GLIBC__)
9 # include <features.h>
10 # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
11- && !defined(__ia64__)
12+ && !defined(__ia64__) && !defined(__UCLIBC__)
13 # ifndef GC_HAVE_BUILTIN_BACKTRACE
14 # define GC_HAVE_BUILTIN_BACKTRACE
15 # endif
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/302-c99-snprintf.patch b/meta/recipes-devtools/gcc/gcc-4.8/302-c99-snprintf.patch
deleted file mode 100644
index 9becc15e11..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/302-c99-snprintf.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Upstream-Status: Pending
2
3Index: gcc-4_7-branch/libstdc++-v3/include/c_std/cstdio
4===================================================================
5--- gcc-4_7-branch.orig/libstdc++-v3/include/c_std/cstdio 2012-04-10 10:19:49.603337089 -0700
6+++ gcc-4_7-branch/libstdc++-v3/include/c_std/cstdio 2012-04-10 10:30:59.863369565 -0700
7@@ -140,7 +140,7 @@
8 using ::vsprintf;
9 } // namespace std
10
11-#if _GLIBCXX_USE_C99
12+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
13
14 #undef snprintf
15 #undef vfscanf
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/303-c99-complex-ugly-hack.patch b/meta/recipes-devtools/gcc/gcc-4.8/303-c99-complex-ugly-hack.patch
deleted file mode 100644
index d69c54696a..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/303-c99-complex-ugly-hack.patch
+++ /dev/null
@@ -1,16 +0,0 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3Index: gcc-4_7-branch/libstdc++-v3/configure
4===================================================================
5--- gcc-4_7-branch.orig/libstdc++-v3/configure 2012-04-10 10:30:37.347368481 -0700
6+++ gcc-4_7-branch/libstdc++-v3/configure 2012-04-10 10:31:22.787370652 -0700
7@@ -18767,6 +18767,9 @@
8 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9 /* end confdefs.h. */
10 #include <complex.h>
11+#ifdef __UCLIBC__
12+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
13+#endif
14 int
15 main ()
16 {
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/304-index_macro.patch b/meta/recipes-devtools/gcc/gcc-4.8/304-index_macro.patch
deleted file mode 100644
index f103765233..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/304-index_macro.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1Upstream-Status: Pending
2
3Index: gcc-4.6.0/libstdc++-v3/include/ext/rope
4===================================================================
5--- gcc-4.6.0.orig/libstdc++-v3/include/ext/rope
6+++ gcc-4.6.0/libstdc++-v3/include/ext/rope
7@@ -54,6 +54,9 @@
8 #include <bits/gthr.h>
9 #include <tr1/functional>
10
11+/* cope w/ index defined as macro, SuSv3 proposal */
12+#undef index
13+
14 # ifdef __GC
15 # define __GC_CONST const
16 # else
17Index: gcc-4.6.0/libstdc++-v3/include/ext/ropeimpl.h
18===================================================================
19--- gcc-4.6.0.orig/libstdc++-v3/include/ext/ropeimpl.h
20+++ gcc-4.6.0/libstdc++-v3/include/ext/ropeimpl.h
21@@ -49,6 +49,9 @@
22 #include <ext/memory> // For uninitialized_copy_n
23 #include <ext/numeric> // For power
24
25+/* cope w/ index defined as macro, SuSv3 proposal */
26+#undef index
27+
28 namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
29 {
30 _GLIBCXX_BEGIN_NAMESPACE_VERSION
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/306-libstdc++-namespace.patch b/meta/recipes-devtools/gcc/gcc-4.8/306-libstdc++-namespace.patch
deleted file mode 100644
index e99bf9602d..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/306-libstdc++-namespace.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1Upstream-Status: Pending
2
3Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h
4===================================================================
5--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members.h
6+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h
7@@ -32,7 +32,8 @@
8 //
9
10 // Written by Benjamin Kosnik <bkoz@redhat.com>
11-
12+namespace std
13+{
14 #ifdef __UCLIBC_MJN3_ONLY__
15 #warning fix prototypes for *textdomain funcs
16 #endif
17@@ -116,3 +117,4 @@
18 this->_S_create_c_locale(this->_M_c_locale_messages, __s);
19 }
20 }
21+}
22Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h
23===================================================================
24--- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.h
25+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h
26@@ -33,7 +33,8 @@
27 //
28
29 // Written by Benjamin Kosnik <bkoz@redhat.com>
30-
31+namespace std
32+{
33 template<typename _CharT>
34 __timepunct<_CharT>::__timepunct(size_t __refs)
35 : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
36@@ -75,3 +76,4 @@
37 delete _M_data;
38 _S_destroy_c_locale(_M_c_locale_timepunct);
39 }
40+}
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/740-sh-pr24836.patch b/meta/recipes-devtools/gcc/gcc-4.8/740-sh-pr24836.patch
deleted file mode 100644
index 1406f87f1c..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/740-sh-pr24836.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1Upstream-Status: Pending
2
3http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
4http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
5
6Index: gcc-4_7-branch/gcc/configure.ac
7===================================================================
8--- gcc-4_7-branch.orig/gcc/configure.ac 2012-04-10 10:22:05.787343661 -0700
9+++ gcc-4_7-branch/gcc/configure.ac 2012-04-10 10:32:18.415373343 -0700
10@@ -3065,7 +3065,7 @@
11 tls_first_minor=14
12 tls_as_opt="-m64 -Aesame --fatal-warnings"
13 ;;
14- sh-*-* | sh[34]-*-*)
15+ sh-*-* | sh[34]*-*-*)
16 conftest_s='
17 .section ".tdata","awT",@progbits
18 foo: .long 25
19Index: gcc-4_7-branch/gcc/configure
20===================================================================
21--- gcc-4_7-branch.orig/gcc/configure 2012-04-10 10:22:05.803343691 -0700
22+++ gcc-4_7-branch/gcc/configure 2012-04-10 10:32:18.419373328 -0700
23@@ -23481,7 +23481,7 @@
24 tls_first_minor=14
25 tls_as_opt="-m64 -Aesame --fatal-warnings"
26 ;;
27- sh-*-* | sh[34]-*-*)
28+ sh-*-* | sh[34]*-*-*)
29 conftest_s='
30 .section ".tdata","awT",@progbits
31 foo: .long 25
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/800-arm-bigendian.patch b/meta/recipes-devtools/gcc/gcc-4.8/800-arm-bigendian.patch
deleted file mode 100644
index 16b23070ab..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/800-arm-bigendian.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1Upstream-Status: Pending
2
3By Lennert Buytenhek <buytenh@wantstofly.org>
4Adds support for arm*b-linux* big-endian ARM targets
5
6See http://gcc.gnu.org/PR16350
7
8Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
9===================================================================
10--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-03-26 11:38:59.000000000 -0700
11+++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-26 11:40:03.277745106 -0700
12@@ -46,7 +46,7 @@
13
14 #undef MULTILIB_DEFAULTS
15 #define MULTILIB_DEFAULTS \
16- { "marm", "mlittle-endian", "mfloat-abi=hard", "mno-thumb-interwork" }
17+ { "marm", TARGET_ENDIAN_OPTION, "mfloat-abi=hard", "mno-thumb-interwork" }
18
19 /* Now we define the strings used to build the spec file. */
20 #undef LIB_SPEC
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/COLLECT_GCC_OPTIONS.patch b/meta/recipes-devtools/gcc/gcc-4.8/COLLECT_GCC_OPTIONS.patch
deleted file mode 100644
index f5982983f2..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/COLLECT_GCC_OPTIONS.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1Upstream-Status: Pending
2
3#This patck added --sysroot into COLLECT_GCC_OPTIONS which is used to
4#invoke collect2.
5
6Index: gcc-4_7-branch/gcc/gcc.c
7===================================================================
8--- gcc-4_7-branch.orig/gcc/gcc.c 2012-04-10 10:37:49.487389409 -0700
9+++ gcc-4_7-branch/gcc/gcc.c 2012-04-10 10:38:50.831392259 -0700
10@@ -3995,6 +3995,15 @@
11 sizeof ("COLLECT_GCC_OPTIONS=") - 1);
12
13 first_time = TRUE;
14+#ifdef HAVE_LD_SYSROOT
15+ if (target_system_root_changed && target_system_root)
16+ {
17+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
18+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
19+ obstack_grow (&collect_obstack, "'", 1);
20+ first_time = FALSE;
21+ }
22+#endif
23 for (i = 0; (int) i < n_switches; i++)
24 {
25 const char *const *args;
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/fortran-cross-compile-hack.patch b/meta/recipes-devtools/gcc/gcc-4.8/fortran-cross-compile-hack.patch
deleted file mode 100644
index 2773b42cca..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/fortran-cross-compile-hack.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
4 used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
5 directory.
6
7Index: gcc-4_7-branch/libgfortran/configure
8===================================================================
9--- gcc-4_7-branch.orig/libgfortran/configure 2012-04-10 10:17:24.055330044 -0700
10+++ gcc-4_7-branch/libgfortran/configure 2012-04-10 10:42:26.159402591 -0700
11@@ -12689,7 +12689,7 @@
12
13 # We need gfortran to compile parts of the library
14 #AC_PROG_FC(gfortran)
15-FC="$GFORTRAN"
16+#FC="$GFORTRAN"
17 ac_ext=${ac_fc_srcext-f}
18 ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
19 ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
20Index: gcc-4_7-branch/libgfortran/configure.ac
21===================================================================
22--- gcc-4_7-branch.orig/libgfortran/configure.ac 2012-04-10 10:17:24.063330046 -0700
23+++ gcc-4_7-branch/libgfortran/configure.ac 2012-04-10 10:42:26.159402591 -0700
24@@ -227,7 +227,7 @@
25
26 # We need gfortran to compile parts of the library
27 #AC_PROG_FC(gfortran)
28-FC="$GFORTRAN"
29+#FC="$GFORTRAN"
30 AC_PROG_FC(gfortran)
31
32 # extra LD Flags which are required for targets
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/mips64-default-n64.patch b/meta/recipes-devtools/gcc/gcc-4.8/mips64-default-n64.patch
deleted file mode 100644
index a42569e058..0000000000
--- a/meta/recipes-devtools/gcc/gcc-4.8/mips64-default-n64.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1MIPS64 defaults to n32 ABI, this patch makes it
2so that it defaults to N64 ABI
3
4Upstream-Status: Inappropriate [OE config specific]
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7Index: gcc-4_7-branch/gcc/config.gcc
8===================================================================
9--- gcc-4_7-branch.orig/gcc/config.gcc 2012-04-22 19:30:21.000000000 -0700
10+++ gcc-4_7-branch/gcc/config.gcc 2012-04-22 21:09:57.783403173 -0700
11@@ -1750,7 +1750,7 @@
12 mips64*-*-linux* | mipsisa64*-*-linux*)
13 tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h"
14 tmake_file="${tmake_file} mips/t-linux64"
15- tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
16+ tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_64"
17 case ${target} in
18 mips64el-st-linux-gnu)
19 tm_file="${tm_file} mips/st.h"