summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2007-01-02 10:44:12 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2007-01-02 10:44:12 +0000
commit227afd10bcda191db507cf1d0588c9a5cb05a76a (patch)
tree22865c5e202f87a1c053f6d166a8717f8c6314a7 /contrib
parent2007-01-02 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-227afd10bcda191db507cf1d0588c9a5cb05a76a.tar.bz2
New.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/crossrpms/patches/gcc-core-4.1.1-rtems4.8-20070102.diff140
1 files changed, 140 insertions, 0 deletions
diff --git a/contrib/crossrpms/patches/gcc-core-4.1.1-rtems4.8-20070102.diff b/contrib/crossrpms/patches/gcc-core-4.1.1-rtems4.8-20070102.diff
new file mode 100644
index 0000000000..0847a04b92
--- /dev/null
+++ b/contrib/crossrpms/patches/gcc-core-4.1.1-rtems4.8-20070102.diff
@@ -0,0 +1,140 @@
+diff -uNr gcc-4.1.1.orig/gcc/config/arm/rtems-elf.h gcc-4.1.1/gcc/config/arm/rtems-elf.h
+--- gcc-4.1.1.orig/gcc/config/arm/rtems-elf.h 2005-11-22 00:28:29.000000000 +0100
++++ gcc-4.1.1/gcc/config/arm/rtems-elf.h 2007-01-02 10:09:16.000000000 +0100
+@@ -27,6 +27,7 @@
+ #define TARGET_OS_CPP_BUILTINS() \
+ do { \
+ builtin_define ("__rtems__"); \
++ builtin_define ("__USE_INIT_FINI__"); \
+ builtin_assert ("system=rtems"); \
+ } while (0)
+
+diff -uNr gcc-4.1.1.orig/gcc/config/bfin/rtems.h gcc-4.1.1/gcc/config/bfin/rtems.h
+--- gcc-4.1.1.orig/gcc/config/bfin/rtems.h 1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.1.1/gcc/config/bfin/rtems.h 2007-01-02 10:09:16.000000000 +0100
+@@ -0,0 +1,29 @@
++/* Definitions for rtems targeting a bfin
++ Copyright (C) 2006 Free Software Foundation, Inc.
++ Contributed by Ralf Corsépius (ralf.corsepius@rtems.org).
++
++This file is part of GCC.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING. If not, write to
++the Free Software Foundation, 51 Franklin Street, Fifth Floor,
++Boston, MA 02110-1301, USA. */
++
++/* Target OS preprocessor built-ins. */
++#define TARGET_OS_CPP_BUILTINS() \
++ do \
++ { \
++ builtin_define ("__rtems__"); \
++ builtin_assert ("system=rtems"); \
++ } \
++ while (0)
+diff -uNr gcc-4.1.1.orig/gcc/config/c4x/rtems.h gcc-4.1.1/gcc/config/c4x/rtems.h
+--- gcc-4.1.1.orig/gcc/config/c4x/rtems.h 2005-06-25 03:22:41.000000000 +0200
++++ gcc-4.1.1/gcc/config/c4x/rtems.h 2007-01-02 10:09:16.000000000 +0100
+@@ -24,6 +24,5 @@
+ #define TARGET_OS_CPP_BUILTINS() \
+ do { \
+ builtin_define ("__rtems__"); \
+- builtin_define ("__USE_INIT_FINI__"); \
+ builtin_assert ("system=rtems"); \
+ } while (0)
+diff -uNr gcc-4.1.1.orig/gcc/config/mips/elf.h gcc-4.1.1/gcc/config/mips/elf.h
+--- gcc-4.1.1.orig/gcc/config/mips/elf.h 2005-07-09 10:46:34.000000000 +0200
++++ gcc-4.1.1/gcc/config/mips/elf.h 2007-01-02 10:09:16.000000000 +0100
+@@ -48,5 +48,3 @@
+
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
+-
+-#define NO_IMPLICIT_EXTERN_C 1
+diff -uNr gcc-4.1.1.orig/gcc/config/mips/t-rtems gcc-4.1.1/gcc/config/mips/t-rtems
+--- gcc-4.1.1.orig/gcc/config/mips/t-rtems 2005-01-15 09:38:53.000000000 +0100
++++ gcc-4.1.1/gcc/config/mips/t-rtems 2007-01-02 10:09:16.000000000 +0100
+@@ -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
+diff -uNr gcc-4.1.1.orig/gcc/config.gcc gcc-4.1.1/gcc/config.gcc
+--- gcc-4.1.1.orig/gcc/config.gcc 2006-05-09 22:02:29.000000000 +0200
++++ gcc-4.1.1/gcc/config.gcc 2007-01-02 10:09:16.000000000 +0100
+@@ -761,6 +761,11 @@
+ tmake_file=bfin/t-bfin-elf
+ use_collect2=no
+ ;;
++bfin*-rtems*)
++ tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
++ tmake_file=bfin/t-bfin-elf
++ use_collect2=no
++ ;;
+ bfin*-*)
+ tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
+ tmake_file=bfin/t-bfin
+@@ -1560,7 +1565,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"
+ ;;
+diff -uNr gcc-4.1.1.orig/gcc/Makefile.in gcc-4.1.1/gcc/Makefile.in
+--- gcc-4.1.1.orig/gcc/Makefile.in 2006-05-17 20:38:58.000000000 +0200
++++ gcc-4.1.1/gcc/Makefile.in 2007-01-02 10:09:16.000000000 +0100
+@@ -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); \
+diff -uNr gcc-4.1.1.orig/Makefile.in gcc-4.1.1/Makefile.in
+--- gcc-4.1.1.orig/Makefile.in 2006-04-04 23:03:05.000000000 +0200
++++ gcc-4.1.1/Makefile.in 2007-01-02 10:11:36.000000000 +0100
+@@ -329,9 +329,9 @@
+ # CFLAGS will be just -g. We want to ensure that TARGET libraries
+ # (which we know are built with gcc) are built with optimizations so
+ # prepend -O2 when setting CFLAGS_FOR_TARGET.
+-CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
++CFLAGS_FOR_TARGET = $(strip -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+-CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
++CXXFLAGS_FOR_TARGET = $(strip $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET =