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
This commit is contained in:
parent
1e85e7204d
commit
8ac7fdcb39
6 changed files with 120 additions and 75 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
80
libgcc/config/arm/bpabi.h
Normal file
80
libgcc/config/arm/bpabi.h
Normal file
|
@ -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
|
|
@ -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
|
Loading…
Add table
Reference in a new issue