Commit 5eeeeec0 authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

toolchain/gcc: add 4.4.0

parent 6930ce94
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
--- 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
+11 −0
Original line number Diff line number Diff line
--- 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
+13 −0
Original line number Diff line number Diff line
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
+49 −0
Original line number Diff line number Diff line
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 */
+38 −0
Original line number Diff line number Diff line
[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"
 
Loading