summaryrefslogtreecommitdiff
path: root/patches/gcc/4.0.2
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/4.0.2')
-rw-r--r--patches/gcc/4.0.2/100-fix-fixincl.patch72
-rw-r--r--patches/gcc/4.0.2/110-pr20815-fix.patch121
-rw-r--r--patches/gcc/4.0.2/120-pr21623-workaround.patch53
3 files changed, 0 insertions, 246 deletions
diff --git a/patches/gcc/4.0.2/100-fix-fixincl.patch b/patches/gcc/4.0.2/100-fix-fixincl.patch
deleted file mode 100644
index 8051f31..0000000
--- a/patches/gcc/4.0.2/100-fix-fixincl.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-See http://gcc.gnu.org/PR22541
-
-From: Dan Kegel
-
-When building gcc-3.4.3 or gcc-4.0.[01] into a clean $PREFIX (the only two I've tried like this),
-the configure script happily copies the glibc include files from include to sys-include;
-here's the line from the log file (with $PREFIX instead of the real prefix):
-
-Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
-
-But later, when running fixincludes, it gives the error message
- The directory that should contain system headers does not exist:
- $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
-
-Nevertheless, it continues building; the header files it installs in
- $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
-do not include the boilerplate that would cause it to #include_next the
-glibc headers in the system header directory.
-Thus the resulting toolchain can't compile the following program:
-#include <limits.h>
-int x = PATH_MAX;
-because its limits.h doesn't include the glibc header.
-
-That's not nice. I suspect the problem is that gcc/Makefile.in assumes that
-it can refer to $PREFIX/i686-unknown-linux-gnu with the path
- $PREFIX/lib/../i686-unknown-linux-gnu, but
-that fails because the directory $PREFIX/lib doesn't exist during 'make all';
-it is only created later, during 'make install'. (Which makes this problem
-confusing, since one only notices the breakage well after 'make install',
-at which point the path configure complained about does exist, and has the
-right stuff in it.)
-
-A possible fix is to replace the line in gcc/Makefile.in that says
- SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
-with a version that gets rid of extra ..'s, e.g.
- SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,,;ta"`
-(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
-for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
-
-[rediffed against gcc-4.0.0]
-
---- gcc-4.0.0/gcc/Makefile.in.orig 2005-04-04 12:45:13.000000000 -0700
-+++ gcc-4.0.0/gcc/Makefile.in 2005-05-20 12:33:43.000000000 -0700
-@@ -378,7 +378,10 @@
- CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
-
- # autoconf sets SYSTEM_HEADER_DIR to one of the above.
--SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
-+# Purge it of unneccessary internal relative paths
-+# to directories that might not exist yet.
-+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
-+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
-
- # Control whether to run fixproto and fixincludes.
- STMP_FIXPROTO = @STMP_FIXPROTO@
-@@ -2838,13 +2841,15 @@
- ../$(build_subdir)/fixincludes/fixincl: ; @ :
-
- # Build fixed copies of system files.
-+# Abort if no system headers available, unless building a crosscompiler.
-+# FIXME: abort unless building --without-headers would be more accurate and less ugly
- stmp-fixinc: gsyslimits.h macro_list \
- ../$(build_subdir)/fixincludes/fixincl \
- ../$(build_subdir)/fixincludes/fixinc.sh
- @if test ! -d ${SYSTEM_HEADER_DIR}; then \
- echo The directory that should contain system headers does not exist: >&2 ; \
- echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
-- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
-+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
- then sleep 1; else exit 1; fi; \
- fi
- rm -rf include; mkdir include
diff --git a/patches/gcc/4.0.2/110-pr20815-fix.patch b/patches/gcc/4.0.2/110-pr20815-fix.patch
deleted file mode 100644
index 7ac8ab5..0000000
--- a/patches/gcc/4.0.2/110-pr20815-fix.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-Date: 18 May 2005 22:47:59 -0000
-Message-ID: <20050518224759.7352.qmail@sourceware.org>
-From: "hubicka at ucw dot cz" <gcc-bugzilla@gcc.gnu.org>
-To: dank@kegel.com
-References: <20050407215701.20815.dank@kegel.com>
-Reply-To: gcc-bugzilla@gcc.gnu.org
-Subject: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
-
-
-------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:47 -------
-Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
-
->
-> ------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:22 -------
-> Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
->
-> coverage_checksum_string already knows a bit about ignoring random seed
-> produced mess. It looks like this needs to be extended somehow to
-> handle namespaces too...
-
-This seems to solve the missmatch. Would it be possible to test it on
-bigger testcase and if it works distile a testcase that don't use
-file IO so it is more suitable for gcc regtesting?
-
-Index: coverage.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/coverage.c,v
-retrieving revision 1.6.2.12.2.12
-diff -c -3 -p -r1.6.2.12.2.12 coverage.c
-*** gcc-old/gcc/coverage.c 18 May 2005 07:37:31 -0000 1.6.2.12.2.12
---- gcc/gcc/coverage.c 18 May 2005 22:45:36 -0000
-*************** coverage_checksum_string (unsigned chksu
-*** 471,505 ****
- as the checksums are used only for sanity checking. */
- for (i = 0; string[i]; i++)
- {
- if (!strncmp (string + i, "_GLOBAL__", 9))
-! for (i = i + 9; string[i]; i++)
-! if (string[i]=='_')
-! {
-! int y;
-! unsigned seed;
-! int scan;
-!
-! for (y = 1; y < 9; y++)
-! if (!(string[i + y] >= '0' && string[i + y] <= '9')
-! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
-! break;
-! if (y != 9 || string[i + 9] != '_')
-! continue;
-! for (y = 10; y < 18; y++)
-! if (!(string[i + y] >= '0' && string[i + y] <= '9')
-! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
-! break;
-! if (y != 18)
-! continue;
-! scan = sscanf (string + i + 10, "%X", &seed);
-! gcc_assert (scan);
-! if (seed != crc32_string (0, flag_random_seed))
-! continue;
-! string = dup = xstrdup (string);
-! for (y = 10; y < 18; y++)
-! dup[i + y] = '0';
-! break;
-! }
- break;
- }
-
---- 471,511 ----
- as the checksums are used only for sanity checking. */
- for (i = 0; string[i]; i++)
- {
-+ int offset = 0;
-+ if (!strncmp (string + i, "_GLOBAL__N_", 11))
-+ offset = 11;
- if (!strncmp (string + i, "_GLOBAL__", 9))
-! offset = 9;
-!
-! /* C++ namespaces do have scheme:
-! _GLOBAL__N_<filename>_<wrongmagicnumber>_<magicnumber>functionname
-! since filename might contain extra underscores there seems
-! to be no better chance then walk all possible offsets looking
-! for magicnuber. */
-! if (offset)
-! for (;string[offset]; offset++)
-! for (i = i + offset; string[i]; i++)
-! if (string[i]=='_')
-! {
-! int y;
-!
-! for (y = 1; y < 9; y++)
-! if (!(string[i + y] >= '0' && string[i + y] <= '9')
-! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
-! break;
-! if (y != 9 || string[i + 9] != '_')
-! continue;
-! for (y = 10; y < 18; y++)
-! if (!(string[i + y] >= '0' && string[i + y] <= '9')
-! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
-! break;
-! if (y != 18)
-! continue;
-! if (!dup)
-! string = dup = xstrdup (string);
-! for (y = 10; y < 18; y++)
-! dup[i + y] = '0';
-! }
- break;
- }
-
-
-
---
-
-
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20815
-
-------- You are receiving this mail because: -------
-You reported the bug, or are watching the reporter.
-
-
diff --git a/patches/gcc/4.0.2/120-pr21623-workaround.patch b/patches/gcc/4.0.2/120-pr21623-workaround.patch
deleted file mode 100644
index 90453fb..0000000
--- a/patches/gcc/4.0.2/120-pr21623-workaround.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Message-ID: <434576E1.6020305@sscd.de>
-Date: Thu, 06 Oct 2005 21:11:29 +0200
-From: Alexander Sieb <sieb@sscd.de>
-To: crossgcc@sourceware.org
-Subject: Crosstool sh4-linux-gcc-4.0.2-glibc-2.3.5 patches
-
-Hi,
-
-attached you find the files I needed to add to crosstool-0.38
-in order to build a sh4-linux gcc-4.0.2-glibc-2.3.5 tool chain.
-
-Files attached:
-
-sh4-gcc4.dat:
- * gcc4 needs --with-multilib-list=m4,m4-nofpu otherwise a linux
- kernel won't build as it uses the -m4-nofpu option.
-
-gcc-pr21623.patch:
- * Kaz Kojima provided a patch [really, a workaround -dank] for http://gcc.gnu.org/PR21623
-
-glibc-2.3.5-sh-memset.patch:
- * A patch for glibc-2.3.5 which corrects memset. From SUGIOKA Toshinobu.
- See content for rationale.
-
--- snip --
-
--- Here's patch 1 of 2, plus URLs showing where it is in CVS --
-
-[http://gcc.gnu.org/ml/gcc-cvs/2005-10/msg00081.html]
-
-2005-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_register_move_cost): Add case for moving
- from T_REGS to FP register class.
-
-[http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/sh.c.diff?cvsroot=gcc&r1=1.347&r2=1.348]
-
-RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.c,v
-retrieving revision 1.347
-retrieving revision 1.348
-diff -u -r1.347 -r1.348
---- gcc/gcc/config/sh/sh.c 2005/09/05 12:45:22 1.347
-+++ gcc/gcc/config/sh/sh.c 2005/10/03 22:07:08 1.348
-@@ -9491,6 +9491,9 @@ sh_register_move_cost (enum machine_mode
- && REGCLASS_HAS_FP_REG (dstclass))
- return 4;
-
-+ if (REGCLASS_HAS_FP_REG (dstclass) && srcclass == T_REGS)
-+ return ((TARGET_HARD_SH4 && !optimize_size) ? 10 : 7);
-+
- if ((REGCLASS_HAS_FP_REG (dstclass) && srcclass == MAC_REGS)
- || (dstclass == MAC_REGS && REGCLASS_HAS_FP_REG (srcclass)))
- return 9;