From 227afd10bcda191db507cf1d0588c9a5cb05a76a Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Tue, 2 Jan 2007 10:44:12 +0000 Subject: New. --- .../patches/gcc-core-4.1.1-rtems4.8-20070102.diff | 140 +++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 contrib/crossrpms/patches/gcc-core-4.1.1-rtems4.8-20070102.diff (limited to 'contrib') 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 = -- cgit v1.2.3