aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config.gcc9
-rw-r--r--gcc/config/arm/bpabi.h61
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config/arm/bpabi.h80
-rw-r--r--libgcc/config/frv/frv-abi.h (renamed from gcc/config/frv/frv-abi.h)28
6 files changed, 120 insertions, 75 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 640d05eccae..97f9a0d5fbe 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from
+ libgcc.
+ (arm*-*-uclinux*eabi) <tm_file>: Likewise.
+ (arm*-*-eabi*) <tm_file>: Likewise.
+ (frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
+ (frv-*-*linux*) <tm_file>: Likewise.
+ * config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
+ and associated helper macros.
+ * config/frv/frv-abi.h: Delete.
+
2010-10-14 Richard Guenther <rguenther@suse.de>
PR lto/44561
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 240bd42483a..b353fa00c20 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -787,6 +787,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF
case ${target} in
arm*-*-linux-*eabi)
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
+ tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
# Define multilib configuration for arm-linux-androideabi.
case ${target} in
@@ -814,6 +815,7 @@ arm*-*-uclinux*) # ARM ucLinux
case ${target} in
arm*-*-uclinux*eabi)
tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
+ tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
tmake_file="$tmake_file arm/t-bpabi"
# The BPABI long long divmod functions return a 128-bit value in
# registers r0-r3. Correctly modeling that requires the use of
@@ -837,6 +839,7 @@ arm*-*-eabi* | arm*-*-symbianelf* )
need_64bit_hwint=yes
default_use_cxa_atexit=yes
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
+ tm_file="$tm_file ../../libgcc/config/arm/bpabi.h"
tmake_file="arm/t-arm arm/t-arm-elf"
case ${target} in
arm*-*-eabi*)
@@ -957,12 +960,14 @@ fr30-*-elf)
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
;;
frv-*-elf)
- tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file} frv/frv-abi.h"
+ tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}"
+ tm_file="${tm_file} ../../libgcc/config/frv/frv-abi.h"
tmake_file=frv/t-frv
;;
frv-*-*linux*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \
- linux.h glibc-stdint.h frv/linux.h frv/frv-abi.h"
+ linux.h glibc-stdint.h frv/linux.h"
+ tm_file="${tm_file} ../../libgcc/config/frv/frv-abi.h"
tmake_file="${tmake_file} frv/t-frv frv/t-linux"
;;
moxie-*-elf)
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index 9a59b47de07..d4b65deeed2 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -1,5 +1,5 @@
/* Configuration file for ARM BPABI targets.
- Copyright (C) 2004, 2005, 2007, 2008, 2009
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
@@ -73,65 +73,6 @@
#undef LINK_SPEC
#define LINK_SPEC BPABI_LINK_SPEC
-#if defined (__thumb__)
-#define RENAME_LIBRARY_SET ".thumb_set"
-#else
-#define RENAME_LIBRARY_SET ".set"
-#endif
-
-/* Make __aeabi_AEABI_NAME an alias for __GCC_NAME. */
-#define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) \
- __asm__ (".globl\t__aeabi_" #AEABI_NAME "\n" \
- RENAME_LIBRARY_SET "\t__aeabi_" #AEABI_NAME \
- ", __" #GCC_NAME "\n");
-
-/* Give some libgcc functions an additional __aeabi name. */
-#ifdef L_muldi3
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldi3, lmul)
-#endif
-#ifdef L_muldi3
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldi3, lmul)
-#endif
-#ifdef L_fixdfdi
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixdfdi, d2lz) \
- extern DWtype __fixdfdi (DFtype) __attribute__((pcs("aapcs"))); \
- extern UDWtype __fixunsdfdi (DFtype) __asm__("__aeabi_d2ulz") __attribute__((pcs("aapcs")));
-#endif
-#ifdef L_fixunsdfdi
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfdi, d2ulz) \
- extern UDWtype __fixunsdfdi (DFtype) __attribute__((pcs("aapcs")));
-#endif
-#ifdef L_fixsfdi
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixsfdi, f2lz) \
- extern DWtype __fixsfdi (SFtype) __attribute__((pcs("aapcs"))); \
- extern UDWtype __fixunssfdi (SFtype) __asm__("__aeabi_f2ulz") __attribute__((pcs("aapcs")));
-#endif
-#ifdef L_fixunssfdi
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfdi, f2ulz) \
- extern UDWtype __fixunssfdi (SFtype) __attribute__((pcs("aapcs")));
-#endif
-#ifdef L_floatdidf
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdidf, l2d)
-#endif
-#ifdef L_floatdisf
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, l2f)
-#endif
-
-/* These renames are needed on ARMv6M. Other targets get them from
- assembly routines. */
-#ifdef L_fixunsdfsi
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfsi, d2uiz)
-#endif
-#ifdef L_fixunssfsi
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfsi, f2uiz)
-#endif
-#ifdef L_floatundidf
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatundidf, ul2d)
-#endif
-#ifdef L_floatundisf
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatundisf, ul2f)
-#endif
-
/* The BPABI requires that we always use an out-of-line implementation
of RTTI comparison, even if the target supports weak symbols,
because the same object file might be used on a target that does
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 4a4003797a2..1564feb2cd1 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arm/bpabi.h: New file.
+ * config/frv/frv-abi.h: New file.
+
2010-10-01 Ian Lance Taylor <iant@google.com>
* config/t-stack(LIB2ADD_ST): Set instead of LIB2ADD.
diff --git a/libgcc/config/arm/bpabi.h b/libgcc/config/arm/bpabi.h
new file mode 100644
index 00000000000..49a28c3c202
--- /dev/null
+++ b/libgcc/config/arm/bpabi.h
@@ -0,0 +1,80 @@
+/* Configuration file for ARM BPABI targets, library renames.
+ Copyright (C) 2010
+ Free Software Foundation, Inc.
+ Contributed by CodeSourcery, LLC
+
+ 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 3, 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 and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#if defined (__thumb__)
+#define RENAME_LIBRARY_SET ".thumb_set"
+#else
+#define RENAME_LIBRARY_SET ".set"
+#endif
+
+/* Make __aeabi_AEABI_NAME an alias for __GCC_NAME. */
+#define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) \
+ __asm__ (".globl\t__aeabi_" #AEABI_NAME "\n" \
+ RENAME_LIBRARY_SET "\t__aeabi_" #AEABI_NAME \
+ ", __" #GCC_NAME "\n");
+
+/* Give some libgcc functions an additional __aeabi name. */
+#ifdef L_muldi3
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldi3, lmul)
+#endif
+#ifdef L_muldi3
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (muldi3, lmul)
+#endif
+#ifdef L_fixdfdi
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixdfdi, d2lz) \
+ extern DWtype __fixdfdi (DFtype) __attribute__((pcs("aapcs"))); \
+ extern UDWtype __fixunsdfdi (DFtype) __asm__("__aeabi_d2ulz") __attribute__((pcs("aapcs")));
+#endif
+#ifdef L_fixunsdfdi
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfdi, d2ulz) \
+ extern UDWtype __fixunsdfdi (DFtype) __attribute__((pcs("aapcs")));
+#endif
+#ifdef L_fixsfdi
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixsfdi, f2lz) \
+ extern DWtype __fixsfdi (SFtype) __attribute__((pcs("aapcs"))); \
+ extern UDWtype __fixunssfdi (SFtype) __asm__("__aeabi_f2ulz") __attribute__((pcs("aapcs")));
+#endif
+#ifdef L_fixunssfdi
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfdi, f2ulz) \
+ extern UDWtype __fixunssfdi (SFtype) __attribute__((pcs("aapcs")));
+#endif
+#ifdef L_floatdidf
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdidf, l2d)
+#endif
+#ifdef L_floatdisf
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatdisf, l2f)
+#endif
+
+/* These renames are needed on ARMv6M. Other targets get them from
+ assembly routines. */
+#ifdef L_fixunsdfsi
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunsdfsi, d2uiz)
+#endif
+#ifdef L_fixunssfsi
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (fixunssfsi, f2uiz)
+#endif
+#ifdef L_floatundidf
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatundidf, ul2d)
+#endif
+#ifdef L_floatundisf
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatundisf, ul2f)
+#endif
diff --git a/gcc/config/frv/frv-abi.h b/libgcc/config/frv/frv-abi.h
index ae8488713c7..99a0cd87855 100644
--- a/gcc/config/frv/frv-abi.h
+++ b/libgcc/config/frv/frv-abi.h
@@ -1,22 +1,24 @@
/* Frv map GCC names to FR-V ABI.
- Copyright (C) 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2003, 2004, 2007, 2010
+ Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
-This file is part of GCC.
+ 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 3, or (at your option)
-any later version.
+ 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 3, 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.
+ 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 COPYING3. If not see
-<http://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
/* For each of the functions in the library that has a corresponding name in
the ABI, add an equivalence between the GCC name and the ABI name. This is