Commit 8ac7fdcb by Nathan Froyd Committed by Nathan Froyd

config.gcc (arm*-*-linux-*eabi): Add bpabi.h from libgcc.

gcc/
	* 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.

libgcc/
	* config/arm/bpabi.h: New file.
	* config/frv/frv-abi.h: New file.

From-SVN: r165463
parent 1e85e720
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> 2010-10-14 Richard Guenther <rguenther@suse.de>
PR lto/44561 PR lto/44561
...@@ -787,6 +787,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF ...@@ -787,6 +787,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF
case ${target} in case ${target} in
arm*-*-linux-*eabi) arm*-*-linux-*eabi)
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h" 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" 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. # Define multilib configuration for arm-linux-androideabi.
case ${target} in case ${target} in
...@@ -814,6 +815,7 @@ arm*-*-uclinux*) # ARM ucLinux ...@@ -814,6 +815,7 @@ arm*-*-uclinux*) # ARM ucLinux
case ${target} in case ${target} in
arm*-*-uclinux*eabi) arm*-*-uclinux*eabi)
tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h" 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" tmake_file="$tmake_file arm/t-bpabi"
# The BPABI long long divmod functions return a 128-bit value in # The BPABI long long divmod functions return a 128-bit value in
# registers r0-r3. Correctly modeling that requires the use of # registers r0-r3. Correctly modeling that requires the use of
...@@ -837,6 +839,7 @@ arm*-*-eabi* | arm*-*-symbianelf* ) ...@@ -837,6 +839,7 @@ arm*-*-eabi* | arm*-*-symbianelf* )
need_64bit_hwint=yes need_64bit_hwint=yes
default_use_cxa_atexit=yes default_use_cxa_atexit=yes
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h" 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" tmake_file="arm/t-arm arm/t-arm-elf"
case ${target} in case ${target} in
arm*-*-eabi*) arm*-*-eabi*)
...@@ -957,12 +960,14 @@ fr30-*-elf) ...@@ -957,12 +960,14 @@ fr30-*-elf)
extra_parts="crti.o crtn.o crtbegin.o crtend.o" extra_parts="crti.o crtn.o crtbegin.o crtend.o"
;; ;;
frv-*-elf) 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 tmake_file=frv/t-frv
;; ;;
frv-*-*linux*) frv-*-*linux*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \ 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" tmake_file="${tmake_file} frv/t-frv frv/t-linux"
;; ;;
moxie-*-elf) moxie-*-elf)
......
/* Configuration file for ARM BPABI targets. /* 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. Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC Contributed by CodeSourcery, LLC
...@@ -73,65 +73,6 @@ ...@@ -73,65 +73,6 @@
#undef LINK_SPEC #undef LINK_SPEC
#define LINK_SPEC BPABI_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 /* The BPABI requires that we always use an out-of-line implementation
of RTTI comparison, even if the target supports weak symbols, of RTTI comparison, even if the target supports weak symbols,
because the same object file might be used on a target that does because the same object file might be used on a target that does
......
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> 2010-10-01 Ian Lance Taylor <iant@google.com>
* config/t-stack(LIB2ADD_ST): Set instead of LIB2ADD. * config/t-stack(LIB2ADD_ST): Set instead of LIB2ADD.
......
/* 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
/* Frv map GCC names to FR-V ABI. /* 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. 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 GCC is free software; you can redistribute it and/or modify it under
it under the terms of the GNU General Public License as published by the terms of the GNU General Public License as published by the Free
the Free Software Foundation; either version 3, or (at your option) Software Foundation; either version 3, or (at your option) any later
any later version. version.
GCC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
GNU General Public License for more details. for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License and
along with GCC; see the file COPYING3. If not see a copy of the GCC Runtime Library Exception along with this program;
<http://www.gnu.org/licenses/>. */ 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 /* 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 the ABI, add an equivalence between the GCC name and the ABI name. This is
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment