summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2006-07-19 21:51:39 +0000
committerChris Johns <chrisj@rtems.org>2006-07-19 21:51:39 +0000
commit45def1d63497e7da8ec1b495463958f47e64f2bf (patch)
tree5a9151719bc72e2572ea06a9241c09ca4583f95e /contrib
parentUse newlib-1.14.0-rtems-20060707.diff (diff)
downloadrtems-45def1d63497e7da8ec1b495463958f47e64f2bf.tar.bz2
Added patch to fix GCC bug PR28400.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060720.diff65
1 files changed, 65 insertions, 0 deletions
diff --git a/contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060720.diff b/contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060720.diff
new file mode 100644
index 0000000000..430d85bb38
--- /dev/null
+++ b/contrib/crossrpms/patches/gcc-core-4.1.1-rtems-20060720.diff
@@ -0,0 +1,65 @@
+--- gcc-4.1.1.orig/gcc/config.gcc (revision 114982)
++++ gcc-4.1.1/gcc/config.gcc (working copy)
+@@ -1560,7 +1560,7 @@
+ tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
+ use_fixproto=yes
+ ;;
+-mips*-*-rtems*)
++mips-*-rtems*)
+ tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
+ tmake_file="mips/t-elf t-rtems mips/t-rtems"
+ ;;
+--- gcc-4.1.1.orig/gcc/config/c4x/rtems.h (revision 114982)
++++ gcc-4.1.1/gcc/config/c4x/rtems.h (working copy)
+@@ -24,6 +24,5 @@
+ #define TARGET_OS_CPP_BUILTINS() \
+ do { \
+ builtin_define ("__rtems__"); \
+- builtin_define ("__USE_INIT_FINI__"); \
+ builtin_assert ("system=rtems"); \
+ } while (0)
+--- gcc-4.1.1.orig/gcc/config/mips/elf.h (revision 114982)
++++ gcc-4.1.1/gcc/config/mips/elf.h (working copy)
+@@ -48,5 +48,3 @@
+
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
+-
+-#define NO_IMPLICIT_EXTERN_C 1
+--- gcc-4.1.1.orig/gcc/config/mips/t-rtems (revision 114982)
++++ gcc-4.1.1/gcc/config/mips/t-rtems (working copy)
+@@ -1,5 +1,16 @@
+ # Custom multilibs for RTEMS
+
+-MULTILIB_OPTIONS = mips1/mips3/mips32 msoft-float/msingle-float
+-MULTILIB_DIRNAMES = mips1 mips3 mips32 soft-float single
+-MULTILIB_MATCHES = msingle-float=m4650
++# default is mips1 EB hard-float
++MULTILIB_OPTIONS = mips1/mips3/mips32 EB/EL msoft-float
++MULTILIB_DIRNAMES = mips1 mips3 mips32 eb el soft-float
++MULTILIB_MATCHES = EL=mel EB=meb
++
++MULTILIB_EXCEPTIONS =
++
++# Big endian only
++MULTILIB_EXCEPTIONS += EL*
++MULTILIB_EXCEPTIONS += mips32/EL*
++
++# Little endian only
++MULTILIB_EXCEPTIONS += mips3
++MULTILIB_EXCEPTIONS += mips3/msoft-float
+--- gcc-4.1.1.orig/gcc/Makefile.in 2006-07-16 11:18:32.000000000 +1000
++++ gcc-4.1.1/gcc/Makefile.in 2006-07-16 11:18:49.000000000 +1000
+@@ -3616,9 +3616,9 @@
+ install-driver: installdirs xgcc$(exeext)
+ -rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
+ -$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
+- -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)
++ -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
+ -( cd $(DESTDIR)$(bindir) && \
+- $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version) )
++ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) )
+ -if [ -f gcc-cross$(exeext) ] ; then \
+ if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
+ rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
+