diff options
Diffstat (limited to 'toolchain/gcc/4.4.1')
| -rw-r--r-- | toolchain/gcc/4.4.1/100-uclibc-conf.patch | 33 | ||||
| -rw-r--r-- | toolchain/gcc/4.4.1/301-missing-execinfo_h.patch | 11 | ||||
| -rw-r--r-- | toolchain/gcc/4.4.1/302-c99-snprintf.patch | 13 | ||||
| -rw-r--r-- | toolchain/gcc/4.4.1/305-libmudflap-susv3-legacy.patch | 49 | ||||
| -rw-r--r-- | toolchain/gcc/4.4.1/810-arm-softfloat-libgcc.patch | 38 | 
5 files changed, 144 insertions, 0 deletions
| diff --git a/toolchain/gcc/4.4.1/100-uclibc-conf.patch b/toolchain/gcc/4.4.1/100-uclibc-conf.patch new file mode 100644 index 000000000..cca8c8229 --- /dev/null +++ b/toolchain/gcc/4.4.1/100-uclibc-conf.patch @@ -0,0 +1,33 @@ +--- gcc/gcc/config/--- gcc/contrib/regression/objs-gcc.sh ++++ gcc/contrib/regression/objs-gcc.sh +@@ -105,6 +105,10 @@ +  then +   make all-gdb all-dejagnu all-ld || exit 1 +   make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++  make all-gdb all-dejagnu all-ld || exit 1 ++  make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then +   make bootstrap || exit 1 +   make install || exit 1 +--- gcc/libjava/classpath/ltconfig ++++ gcc/libjava/classpath/ltconfig +@@ -603,7 +603,7 @@ +  + # Transform linux* to *-*-linux-gnu*, to support old configure scripts. + case $host_os in +-linux-gnu*) ;; ++linux-gnu*|linux-uclibc*) ;; + linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` + esac +  +@@ -1251,7 +1251,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux*) +   version_type=linux +   need_lib_prefix=no +   need_version=no diff --git a/toolchain/gcc/4.4.1/301-missing-execinfo_h.patch b/toolchain/gcc/4.4.1/301-missing-execinfo_h.patch new file mode 100644 index 000000000..0e2092f3f --- /dev/null +++ b/toolchain/gcc/4.4.1/301-missing-execinfo_h.patch @@ -0,0 +1,11 @@ +--- gcc-4.0.0/boehm-gc/include/gc.h-orig	2005-04-28 22:28:57.000000000 -0500 ++++ gcc-4.0.0/boehm-gc/include/gc.h	2005-04-28 22:30:38.000000000 -0500 +@@ -500,7 +500,7 @@ + #ifdef __linux__ + # include <features.h> + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ +-     && !defined(__ia64__) ++     && !defined(__ia64__) && !defined(__UCLIBC__) + #   ifndef GC_HAVE_BUILTIN_BACKTRACE + #     define GC_HAVE_BUILTIN_BACKTRACE + #   endif diff --git a/toolchain/gcc/4.4.1/302-c99-snprintf.patch b/toolchain/gcc/4.4.1/302-c99-snprintf.patch new file mode 100644 index 000000000..ba51a0e1d --- /dev/null +++ b/toolchain/gcc/4.4.1/302-c99-snprintf.patch @@ -0,0 +1,13 @@ +Index: gcc-4.3.0/libstdc++-v3/include/c_global/cstdio +=================================================================== +--- gcc-4.3.0/libstdc++-v3/include/c_global/cstdio	(revision 129202) ++++ gcc-4.3.0/libstdc++-v3/include/c_global/cstdio	(working copy) +@@ -144,7 +144,7 @@ +  + _GLIBCXX_END_NAMESPACE +  +-#if _GLIBCXX_USE_C99 ++#if _GLIBCXX_USE_C99 || defined __UCLIBC__ +  + #undef snprintf + #undef vfscanf diff --git a/toolchain/gcc/4.4.1/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.4.1/305-libmudflap-susv3-legacy.patch new file mode 100644 index 000000000..374b1f865 --- /dev/null +++ b/toolchain/gcc/4.4.1/305-libmudflap-susv3-legacy.patch @@ -0,0 +1,49 @@ +Index: gcc-4.2/libmudflap/mf-hooks2.c +=================================================================== +--- gcc-4.2/libmudflap/mf-hooks2.c	(revision 119834) ++++ gcc-4.2/libmudflap/mf-hooks2.c	(working copy) +@@ -427,7 +427,7 @@ + { +   TRACE ("%s\n", __PRETTY_FUNCTION__); +   MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); +-  bzero (s, n); ++  memset (s, 0, n); + } +  +  +@@ -437,7 +437,7 @@ +   TRACE ("%s\n", __PRETTY_FUNCTION__); +   MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); +   MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); +-  bcopy (src, dest, n); ++  memmove (dest, src, n); + } +  +  +@@ -447,7 +447,7 @@ +   TRACE ("%s\n", __PRETTY_FUNCTION__); +   MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); +   MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); +-  return bcmp (s1, s2, n); ++  return n == 0 ? 0 : memcmp (s1, s2, n); + } +  +  +@@ -456,7 +456,7 @@ +   size_t n = strlen (s); +   TRACE ("%s\n", __PRETTY_FUNCTION__); +   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); +-  return index (s, c); ++  return strchr (s, c); + } +  +  +@@ -465,7 +465,7 @@ +   size_t n = strlen (s); +   TRACE ("%s\n", __PRETTY_FUNCTION__); +   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); +-  return rindex (s, c); ++  return strrchr (s, c); + } +  + /* XXX:  stpcpy, memccpy */ diff --git a/toolchain/gcc/4.4.1/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.4.1/810-arm-softfloat-libgcc.patch new file mode 100644 index 000000000..e6a30a3f0 --- /dev/null +++ b/toolchain/gcc/4.4.1/810-arm-softfloat-libgcc.patch @@ -0,0 +1,38 @@ +[PATCH] add the correct symbols to libgcc for uclibc arm softfloat + +Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> +--- + gcc/config/arm/linux-elf.h |    2 +- + gcc/config/arm/t-linux     |    6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +Index: gcc-4.4.0/gcc/config/arm/t-linux +=================================================================== +--- gcc-4.4.0.orig/gcc/config/arm/t-linux ++++ gcc-4.4.0/gcc/config/arm/t-linux +@@ -4,7 +4,11 @@ +  + LIB1ASMSRC = arm/lib1funcs.asm + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ +-	_arm_addsubdf3 _arm_addsubsf3 ++	_arm_addsubdf3 _arm_addsubsf3 \ ++	_arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ ++	_arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ ++	_arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ ++	_arm_fixsfsi _arm_fixunssfsi +  + # MULTILIB_OPTIONS = mhard-float/msoft-float + # MULTILIB_DIRNAMES = hard-float soft-float +Index: gcc-4.4.0/gcc/config/arm/linux-elf.h +=================================================================== +--- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h ++++ gcc-4.4.0/gcc/config/arm/linux-elf.h +@@ -60,7 +60,7 @@ +    %{shared:-lc} \ +    %{!shared:%{profile:-lc_p}%{!profile:-lc}}" +  +-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" ++#define LIBGCC_SPEC "-lgcc" +  + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" +  | 
