This commit is contained in:
Ralf Corsepius
2007-01-04 08:00:32 +00:00
parent 5ebd935114
commit e0c27b1d54
@@ -0,0 +1,116 @@
diff -uNr gcc-4.2-20070102.orig/gcc/config/arm/rtems-elf.h gcc-4.2-20070102/gcc/config/arm/rtems-elf.h
--- gcc-4.2-20070102.orig/gcc/config/arm/rtems-elf.h 2005-11-21 23:56:34.000000000 +0100
+++ gcc-4.2-20070102/gcc/config/arm/rtems-elf.h 2007-01-04 08:48:09.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.2-20070102.orig/gcc/config/bfin/rtems.h gcc-4.2-20070102/gcc/config/bfin/rtems.h
--- gcc-4.2-20070102.orig/gcc/config/bfin/rtems.h 1970-01-01 01:00:00.000000000 +0100
+++ gcc-4.2-20070102/gcc/config/bfin/rtems.h 2007-01-04 08:48:09.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.2-20070102.orig/gcc/config/bfin/t-bfin gcc-4.2-20070102/gcc/config/bfin/t-bfin
--- gcc-4.2-20070102.orig/gcc/config/bfin/t-bfin 2005-04-05 13:26:48.000000000 +0200
+++ gcc-4.2-20070102/gcc/config/bfin/t-bfin 2007-01-04 08:48:09.000000000 +0100
@@ -15,10 +15,6 @@
echo '#define FLOAT' > fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-# This shouldn't be needed here. I added it to the specs file for now, until
-# it is fixed in binutils (if it is necessary).
-GCC_CFLAGS += -N
-
# Assemble startup files.
$(T)crti.o: $(srcdir)/config/bfin/crti.s $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
diff -uNr gcc-4.2-20070102.orig/gcc/config/bfin/t-bfin-elf gcc-4.2-20070102/gcc/config/bfin/t-bfin-elf
--- gcc-4.2-20070102.orig/gcc/config/bfin/t-bfin-elf 2006-05-29 16:11:07.000000000 +0200
+++ gcc-4.2-20070102/gcc/config/bfin/t-bfin-elf 2007-01-04 08:48:09.000000000 +0100
@@ -15,10 +15,6 @@
echo '#define FLOAT' > fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-# This shouldn't be needed here. I added it to the specs file for now, until
-# it is fixed in binutils (if it is necessary).
-GCC_CFLAGS += -N
-
CRTSTUFF_T_CFLAGS = -fpic
TARGET_LIBGCC2_CFLAGS = -fpic
diff -uNr gcc-4.2-20070102.orig/gcc/config/bfin/t-rtems gcc-4.2-20070102/gcc/config/bfin/t-rtems
--- gcc-4.2-20070102.orig/gcc/config/bfin/t-rtems 1970-01-01 01:00:00.000000000 +0100
+++ gcc-4.2-20070102/gcc/config/bfin/t-rtems 2007-01-04 08:48:09.000000000 +0100
@@ -0,0 +1,6 @@
+# Multilibs for fbin RTEMS targets.
+
+MULTILIB_OPTIONS =
+MULTILIB_DIRNAMES =
+MULTILIB_EXTRA_OPTS =
+MULTILIB_EXCEPTIONS =
diff -uNr gcc-4.2-20070102.orig/gcc/config/c4x/rtems.h gcc-4.2-20070102/gcc/config/c4x/rtems.h
--- gcc-4.2-20070102.orig/gcc/config/c4x/rtems.h 2005-06-25 03:22:41.000000000 +0200
+++ gcc-4.2-20070102/gcc/config/c4x/rtems.h 2007-01-04 08:48:09.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.2-20070102.orig/gcc/config/mips/elf.h gcc-4.2-20070102/gcc/config/mips/elf.h
--- gcc-4.2-20070102.orig/gcc/config/mips/elf.h 2006-10-08 09:35:47.000000000 +0200
+++ gcc-4.2-20070102/gcc/config/mips/elf.h 2007-01-04 08:48:09.000000000 +0100
@@ -49,6 +49,4 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend%O%s crtn%O%s"
-#define NO_IMPLICIT_EXTERN_C 1
-
#define HANDLE_PRAGMA_PACK_PUSH_POP 1
diff -uNr gcc-4.2-20070102.orig/gcc/config.gcc gcc-4.2-20070102/gcc/config.gcc
--- gcc-4.2-20070102.orig/gcc/config.gcc 2006-11-10 01:02:21.000000000 +0100
+++ gcc-4.2-20070102/gcc/config.gcc 2007-01-04 08:48:09.000000000 +0100
@@ -786,6 +786,10 @@
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 t-rtems bfin/t-rtems"
+ ;;
bfin*-*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
tmake_file=bfin/t-bfin