summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/files
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/files')
-rw-r--r--meta/recipes-devtools/gcc/files/canadian-build-modules-configure.patch22
-rw-r--r--meta/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch12
-rw-r--r--meta/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch13
-rw-r--r--meta/recipes-devtools/gcc/files/gcc-posix-open-fix.patch11
-rw-r--r--meta/recipes-devtools/gcc/files/gcc4-mtune-compat.patch14
-rw-r--r--meta/recipes-devtools/gcc/files/gfortran-4.3.x.patch40
-rw-r--r--meta/recipes-devtools/gcc/files/gfortran.patch40
-rw-r--r--meta/recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch29
-rw-r--r--meta/recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch38
-rw-r--r--meta/recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch13
10 files changed, 232 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/files/canadian-build-modules-configure.patch b/meta/recipes-devtools/gcc/files/canadian-build-modules-configure.patch
new file mode 100644
index 0000000000..8aede105c5
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/canadian-build-modules-configure.patch
@@ -0,0 +1,22 @@
1diff -urN gcc-4.2.2-orig/gcc/configure gcc-4.2.2/gcc/configure
2--- gcc-4.2.2-orig/gcc/configure 2008-08-31 23:10:56.000000000 +0200
3+++ gcc-4.2.2/gcc/configure 2008-08-31 23:03:02.000000000 +0200
4@@ -12716,6 +12716,7 @@
5 esac
6 saved_CFLAGS="${CFLAGS}"
7 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
8+ CPP="${CPP_FOR_BUILD}" CPPFLAGS="${CPPFLAGS_FOR_BUILD}" \
9 CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
10 --enable-languages=${enable_languages-all} \
11 --target=$target_alias --host=$build_alias --build=$build_alias
12diff -urN gcc-4.2.2-orig/gcc/configure.ac gcc-4.2.2/gcc/configure.ac
13--- gcc-4.2.2-orig/gcc/configure.ac 2008-08-31 23:10:53.000000000 +0200
14+++ gcc-4.2.2/gcc/configure.ac 2008-08-31 23:03:29.000000000 +0200
15@@ -1490,6 +1490,7 @@
16 esac
17 saved_CFLAGS="${CFLAGS}"
18 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
19+ CPP="${CPP_FOR_BUILD}" CPPFLAGS="${CPPFLAGS_FOR_BUILD}" \
20 ${realsrcdir}/configure \
21 --enable-languages=${enable_languages-all} \
22 --target=$target_alias --host=$build_alias --build=$build_alias
diff --git a/meta/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch b/meta/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch
new file mode 100644
index 0000000000..8a2a4c4040
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch
@@ -0,0 +1,12 @@
1Index: gcc-4.3.3/Makefile.in
2===================================================================
3--- gcc-4.3.3.orig/Makefile.in 2010-06-16 18:04:38.379008150 +0400
4+++ gcc-4.3.3/Makefile.in 2010-06-16 18:05:29.115006261 +0400
5@@ -148,6 +148,7 @@
6 # built for the build system to override those in BASE_FLAGS_TO_PASSS.
7 EXTRA_BUILD_FLAGS = \
8 CFLAGS="$(CFLAGS_FOR_BUILD)" \
9+ LIBCFLAGS="$(CFLAGS_FOR_BUILD)" \
10 LDFLAGS="$(LDFLAGS_FOR_BUILD)"
11
12 # This is the list of directories to built for the host system.
diff --git a/meta/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch b/meta/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch
new file mode 100644
index 0000000000..b3753364f8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch
@@ -0,0 +1,13 @@
1Index: gcc-4.3.1/Makefile.in
2===================================================================
3--- gcc-4.3.1.orig/Makefile.in 2010-07-07 13:08:44.000000000 +0200
4+++ gcc-4.3.1/Makefile.in 2010-07-07 13:11:59.246625709 +0200
5@@ -149,7 +149,7 @@
6 EXTRA_BUILD_FLAGS = \
7 CFLAGS="$(CFLAGS_FOR_BUILD)" \
8 LDFLAGS="$(LDFLAGS_FOR_BUILD)" \
9- LIBCFLAGS=""
10+ LIBCFLAGS="$(CFLAGS_FOR_BUILD)"
11
12 # This is the list of directories to built for the host system.
13 SUBDIRS = @configdirs@
diff --git a/meta/recipes-devtools/gcc/files/gcc-posix-open-fix.patch b/meta/recipes-devtools/gcc/files/gcc-posix-open-fix.patch
new file mode 100644
index 0000000000..99f813e866
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/gcc-posix-open-fix.patch
@@ -0,0 +1,11 @@
1--- gcc-3.4.6/gcc/collect2.c 2008-10-04 18:17:17.796750393 +0400
2+++ gcc-3.4.6/gcc/collect2.new 2008-10-04 18:24:10.120748711 +0400
3@@ -1534,7 +1534,7 @@ collect_execute (const char *prog, char
4 if (redir)
5 {
6 /* Open response file. */
7- redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
8+ redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IWUSR);
9
10 /* Duplicate the stdout and stderr file handles
11 so they can be restored later. */
diff --git a/meta/recipes-devtools/gcc/files/gcc4-mtune-compat.patch b/meta/recipes-devtools/gcc/files/gcc4-mtune-compat.patch
new file mode 100644
index 0000000000..0da2811d37
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/gcc4-mtune-compat.patch
@@ -0,0 +1,14 @@
1Patch for gcc3 to support gcc4-compatible (and consistent) values for -mtune= option.
2
3--- gcc-3.4.4/gcc/config/arm/arm.c.org 2007-12-15 23:58:35.000000000 +0200
4+++ gcc-3.4.4/gcc/config/arm/arm.c 2007-12-16 00:20:39.000000000 +0200
5@@ -432,7 +432,9 @@
6 {"arm10tdmi", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 },
7 {"arm1020t", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 },
8 {"arm926ejs", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
9+ {"arm926ej-s", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
10 {"arm1026ejs", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
11+ {"arm1026ej-s", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E },
12 {"xscale", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE },
13 {"iwmmxt", FL_MODE32 | FL_FAST_MULT | FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_XSCALE | FL_IWMMXT },
14 /* V6 Architecture Processors */
diff --git a/meta/recipes-devtools/gcc/files/gfortran-4.3.x.patch b/meta/recipes-devtools/gcc/files/gfortran-4.3.x.patch
new file mode 100644
index 0000000000..0c42851ce1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/gfortran-4.3.x.patch
@@ -0,0 +1,40 @@
1The patch below fixes a crash building libgfortran on arm-linux-gnueabi.
2
3This target doesn't really have a 128-bit integer type, however it does use
4TImode to represent the return value of certain special ABI defined library
5functions. This results in type_for_size(TImode) being called.
6
7Because TImode deosn't correspond to any gfortran integer kind
8gfc_type_for_size returns NULL and we segfault shortly after.
9
10The patch below fixes this by making gfc_type_for_size handle TImode in the
11same way as the C frontend.
12
13Tested on x86_64-linux and arm-linux-gnueabi.
14Applied to trunk.
15
16Paul
17
182007-05-15 Paul Brook <paul@codesourcery.com>
19
20 gcc/fortran/
21 * trans-types.c (gfc_type_for_size): Handle signed TImode.
22
23Index: gcc-4.2.1/gcc/fortran/trans-types.c
24===================================================================
25--- gcc-4.2.1/gcc/fortran/trans-types.c (revision 170435)
26+++ gcc-4.2.1/gcc/fortran/trans-types.c (working copy)
27@@ -1800,6 +1800,13 @@ gfc_type_for_size (unsigned bits, int un
28 if (type && bits == TYPE_PRECISION (type))
29 return type;
30 }
31+
32+ /* Handle TImode as a special case because it is used by some backends
33+ (eg. ARM) even though it is not available for normal use. */
34+#if HOST_BITS_PER_WIDE_INT >= 65
35+ if (bits == TYPE_PRECISION (intTI_type_node))
36+ return intTI_type_node;
37+#endif
38 }
39 else
40 {
diff --git a/meta/recipes-devtools/gcc/files/gfortran.patch b/meta/recipes-devtools/gcc/files/gfortran.patch
new file mode 100644
index 0000000000..96905e5d7d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/gfortran.patch
@@ -0,0 +1,40 @@
1The patch below fixes a crash building libgfortran on arm-linux-gnueabi.
2
3This target doesn't really have a 128-bit integer type, however it does use
4TImode to represent the return value of certain special ABI defined library
5functions. This results in type_for_size(TImode) being called.
6
7Because TImode deosn't correspond to any gfortran integer kind
8gfc_type_for_size returns NULL and we segfault shortly after.
9
10The patch below fixes this by making gfc_type_for_size handle TImode in the
11same way as the C frontend.
12
13Tested on x86_64-linux and arm-linux-gnueabi.
14Applied to trunk.
15
16Paul
17
182007-05-15 Paul Brook <paul@codesourcery.com>
19
20 gcc/fortran/
21 * trans-types.c (gfc_type_for_size): Handle signed TImode.
22
23Index: gcc-4.2.1/gcc/fortran/trans-types.c
24===================================================================
25--- gcc-4.2.1/gcc/fortran/trans-types.c (revision 170435)
26+++ gcc-4.2.1/gcc/fortran/trans-types.c (working copy)
27@@ -1800,6 +1800,13 @@ gfc_type_for_size (unsigned bits, int un
28 if (type && bits == TYPE_PRECISION (type))
29 return type;
30 }
31+
32+ /* Handle TImode as a special case because it is used by some backends
33+ (eg. ARM) even though it is not available for normal use. */
34+#if HOST_BITS_PER_WIDE_INT >= 64
35+ if (bits == TYPE_PRECISION (intTI_type_node))
36+ return intTI_type_node;
37+#endif
38 }
39 else
40 {
diff --git a/meta/recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch b/meta/recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch
new file mode 100644
index 0000000000..429e9ffd0c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/pr22133-mingw-path-fixup.patch
@@ -0,0 +1,29 @@
1diff -rupN gcc-4.2.orig/gcc/c-incpath.c gcc-4.2/gcc/c-incpath.c
2--- gcc-4.2.orig/gcc/c-incpath.c 2007-09-01 11:28:30.000000000 -0400
3+++ gcc-4.2/gcc/c-incpath.c 2008-08-17 16:56:01.000000000 -0400
4@@ -340,13 +340,18 @@ add_path (char *path, int chain, int cxx
5 cpp_dir *p;
6
7 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
8- /* Convert all backslashes to slashes. The native CRT stat()
9- function does not recognize a directory that ends in a backslash
10- (unless it is a drive root dir, such "c:\"). Forward slashes,
11- trailing or otherwise, cause no problems for stat(). */
12- char* c;
13- for (c = path; *c; c++)
14- if (*c == '\\') *c = '/';
15+ /* Remove unnecessary trailing slashes. On some versions of MS
16+ Windows, trailing _forward_ slashes cause no problems for stat().
17+ On newer versions, stat() does not recognise a directory that ends
18+ in a '\\' or '/', unless it is a drive root dir, such as "c:/",
19+ where it is obligatory. */
20+ int pathlen = strlen (path);
21+ char* end = path + pathlen - 1;
22+ /* Preserve the lead '/' or lead "c:/". */
23+ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1);
24+
25+ for (; end > start && IS_DIR_SEPARATOR (*end); end--)
26+ *end = 0;
27 #endif
28
29 p = XNEW (cpp_dir);
diff --git a/meta/recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch b/meta/recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch
new file mode 100644
index 0000000000..e16fb4464a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/pr33281-mingw-host-fragment.patch
@@ -0,0 +1,38 @@
1---
2 config/mh-mingw | 3 +++
3 configure | 1 +
4 configure.in | 1 +
5 3 files changed, 5 insertions(+)
6
7Index: gcc-4.2.3/config/mh-mingw
8===================================================================
9--- /dev/null
10+++ gcc-4.2.3/config/mh-mingw
11@@ -0,0 +1,3 @@
12+# Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows
13+# Vista (see PR33281 for details).
14+BOOT_CFLAGS += -D__USE_MINGW_ACCESS
15Index: gcc-4.2.3/configure.in
16===================================================================
17--- gcc-4.2.3.orig/configure.in
18+++ gcc-4.2.3/configure.in
19@@ -929,6 +929,7 @@ case "${host}" in
20 host_makefile_frag="config/mh-cygwin"
21 ;;
22 *-mingw32*)
23+ host_makefile_frag="config/mh-mingw"
24 ;;
25 *-interix*)
26 host_makefile_frag="config/mh-interix"
27Index: gcc-4.2.3/configure
28===================================================================
29--- gcc-4.2.3.orig/configure
30+++ gcc-4.2.3/configure
31@@ -1769,6 +1769,7 @@ case "${host}" in
32 host_makefile_frag="config/mh-cygwin"
33 ;;
34 *-mingw32*)
35+ host_makefile_frag="config/mh-mingw"
36 ;;
37 *-interix*)
38 host_makefile_frag="config/mh-interix"
diff --git a/meta/recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch b/meta/recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch
new file mode 100644
index 0000000000..faf44c27f9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch
@@ -0,0 +1,13 @@
1---
2 config/mh-mingw | 1 +
3 1 file changed, 1 insertion(+)
4
5Index: gcc-4.2.3/config/mh-mingw
6===================================================================
7--- gcc-4.2.3.orig/config/mh-mingw
8+++ gcc-4.2.3/config/mh-mingw
9@@ -1,3 +1,4 @@
10 # Add -D__USE_MINGW_ACCESS to enable the built compiler to work on Windows
11 # Vista (see PR33281 for details).
12 BOOT_CFLAGS += -D__USE_MINGW_ACCESS
13+CFLAGS += -D__USE_MINGW_ACCESS