Commit 80cf2e08 by Joseph Myers Committed by Joseph Myers

config.gcc (libgcc_tm_file): Define instead of including files from…

config.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc/config/ in tm_file.

gcc:
	* config.gcc (libgcc_tm_file): Define instead of including files
	from ../../libgcc/config/ in tm_file.
	* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
	Define.
	* configure: Regenerate.
	* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
	libgcc_tm.h, cs-libgcc_tm.h): New.
	(TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
	(clean): Remove libgcc_tm.h.
	* config/arm/symbian.h (RENAME_LIBRARY): Remove.
	* mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
	* system.h (DECLARE_LIBRARY_RENAMES): Poison.

libgcc:
	* config/arm/symbian-lib.h: New.

From-SVN: r173619
parent fd01a351
2011-05-10 Joseph Myers <joseph@codesourcery.com>
* config.gcc (libgcc_tm_file): Define instead of including files
from ../../libgcc/config/ in tm_file.
* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
Define.
* configure: Regenerate.
* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
libgcc_tm.h, cs-libgcc_tm.h): New.
(TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
(clean): Remove libgcc_tm.h.
* config/arm/symbian.h (RENAME_LIBRARY): Remove.
* mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
* system.h (DECLARE_LIBRARY_RENAMES): Poison.
2011-05-10 Georg-Johann Lay <avr@gjlay.de> 2011-05-10 Georg-Johann Lay <avr@gjlay.de>
PR target/48896 PR target/48896
......
...@@ -484,6 +484,8 @@ md_file=$(srcdir)/config/@md_file@ ...@@ -484,6 +484,8 @@ md_file=$(srcdir)/config/@md_file@
tm_file_list=@tm_file_list@ tm_file_list=@tm_file_list@
tm_include_list=@tm_include_list@ tm_include_list=@tm_include_list@
tm_defines=@tm_defines@ tm_defines=@tm_defines@
libgcc_tm_file_list=@libgcc_tm_file_list@
libgcc_tm_include_list=@libgcc_tm_include_list@
tm_p_file_list=@tm_p_file_list@ tm_p_file_list=@tm_p_file_list@
tm_p_include_list=@tm_p_include_list@ tm_p_include_list=@tm_p_include_list@
build_xm_file_list=@build_xm_file_list@ build_xm_file_list=@build_xm_file_list@
...@@ -840,7 +842,8 @@ CONFIG_H = config.h $(host_xm_file_list) ...@@ -840,7 +842,8 @@ CONFIG_H = config.h $(host_xm_file_list)
TCONFIG_H = tconfig.h $(xm_file_list) TCONFIG_H = tconfig.h $(xm_file_list)
TM_P_H = tm_p.h $(tm_p_file_list) TM_P_H = tm_p.h $(tm_p_file_list)
GTM_H = tm.h $(tm_file_list) insn-constants.h GTM_H = tm.h $(tm_file_list) insn-constants.h
TM_H = $(GTM_H) insn-flags.h $(OPTIONS_H) TM_H = $(GTM_H) libgcc_tm.h $(libgcc_tm_file_list) insn-flags.h \
$(OPTIONS_H)
# Variables for version information. # Variables for version information.
BASEVER := $(srcdir)/BASE-VER # 4.x.y BASEVER := $(srcdir)/BASE-VER # 4.x.y
...@@ -1687,6 +1690,7 @@ config.h: cs-config.h ; @true ...@@ -1687,6 +1690,7 @@ config.h: cs-config.h ; @true
bconfig.h: cs-bconfig.h ; @true bconfig.h: cs-bconfig.h ; @true
tconfig.h: cs-tconfig.h ; @true tconfig.h: cs-tconfig.h ; @true
tm.h: cs-tm.h ; @true tm.h: cs-tm.h ; @true
libgcc_tm.h: cs-libgcc_tm.h ; @true
tm_p.h: cs-tm_p.h ; @true tm_p.h: cs-tm_p.h ; @true
cs-config.h: Makefile cs-config.h: Makefile
...@@ -1709,6 +1713,11 @@ cs-tm.h: Makefile ...@@ -1709,6 +1713,11 @@ cs-tm.h: Makefile
HEADERS="$(tm_include_list)" DEFINES="$(tm_defines)" \ HEADERS="$(tm_include_list)" DEFINES="$(tm_defines)" \
$(SHELL) $(srcdir)/mkconfig.sh tm.h $(SHELL) $(srcdir)/mkconfig.sh tm.h
cs-libgcc_tm.h: Makefile
TARGET_CPU_DEFAULT="" \
HEADERS="$(libgcc_tm_include_list)" DEFINES="" \
$(SHELL) $(srcdir)/mkconfig.sh libgcc_tm.h
cs-tm_p.h: Makefile cs-tm_p.h: Makefile
TARGET_CPU_DEFAULT="" \ TARGET_CPU_DEFAULT="" \
HEADERS="$(tm_p_include_list)" DEFINES="" \ HEADERS="$(tm_p_include_list)" DEFINES="" \
...@@ -4464,7 +4473,7 @@ clean: mostlyclean lang.clean ...@@ -4464,7 +4473,7 @@ clean: mostlyclean lang.clean
-rm -f libgcc.a libgcc_eh.a libgcov.a -rm -f libgcc.a libgcc_eh.a libgcov.a
-rm -f libgcc_s* -rm -f libgcc_s*
-rm -f libunwind* -rm -f libunwind*
-rm -f config.h tconfig.h bconfig.h tm_p.h tm.h -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h libgcc_tm.h
-rm -f options.c options.h optionlist -rm -f options.c options.h optionlist
-rm -f cs-* -rm -f cs-*
-rm -f doc/*.dvi -rm -f doc/*.dvi
......
...@@ -84,6 +84,12 @@ ...@@ -84,6 +84,12 @@
# build-directory files by prefixing them with "./". # build-directory files by prefixing them with "./".
# All other files should relative to $srcdir/config. # All other files should relative to $srcdir/config.
# #
# libgcc_tm_file A list of target macro files used only for code
# built for the target, not the host. These files
# are relative to $srcdir/../libgcc/config and
# must not have the same names as files in
# $srcdir/config.
#
# tm_p_file Location of file with declarations for functions # tm_p_file Location of file with declarations for functions
# in $out_file. # in $out_file.
# #
...@@ -206,6 +212,7 @@ fortran_target_objs= ...@@ -206,6 +212,7 @@ fortran_target_objs=
target_has_targetcm=no target_has_targetcm=no
tm_defines= tm_defines=
xm_defines= xm_defines=
libgcc_tm_file=
# Set this to force installation and use of collect2. # Set this to force installation and use of collect2.
use_collect2= use_collect2=
# Set this to override the default target model. # Set this to override the default target model.
...@@ -794,7 +801,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF ...@@ -794,7 +801,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-lib.h" libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.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
...@@ -822,7 +829,7 @@ arm*-*-uclinux*) # ARM ucLinux ...@@ -822,7 +829,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-lib.h" libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.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
...@@ -846,7 +853,7 @@ arm*-*-eabi* | arm*-*-symbianelf* ) ...@@ -846,7 +853,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-lib.h" libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.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*)
...@@ -856,6 +863,7 @@ arm*-*-eabi* | arm*-*-symbianelf* ) ...@@ -856,6 +863,7 @@ arm*-*-eabi* | arm*-*-symbianelf* )
;; ;;
arm*-*-symbianelf*) arm*-*-symbianelf*)
tm_file="${tm_file} arm/symbian.h" tm_file="${tm_file} arm/symbian.h"
libgcc_tm_file="$libgcc_tm_file arm/symbian-lib.h"
# We do not include t-bpabi for Symbian OS because the system # We do not include t-bpabi for Symbian OS because the system
# provides its own implementation of the BPABI functions. # provides its own implementation of the BPABI functions.
tmake_file="${tmake_file} arm/t-symbian" tmake_file="${tmake_file} arm/t-symbian"
...@@ -954,13 +962,13 @@ fr30-*-elf) ...@@ -954,13 +962,13 @@ fr30-*-elf)
;; ;;
frv-*-elf) frv-*-elf)
tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
tm_file="${tm_file} ../../libgcc/config/frv/frv-abi.h" libgcc_tm_file="${libgcc_tm_file} frv/frv-abi.h"
tmake_file=frv/t-frv tmake_file=frv/t-frv
;; ;;
frv-*-*linux*) frv-*-*linux*)
tm_file="dbxelf.h elfos.h ${tm_file} \ tm_file="dbxelf.h elfos.h ${tm_file} \
gnu-user.h linux.h glibc-stdint.h frv/linux.h" gnu-user.h linux.h glibc-stdint.h frv/linux.h"
tm_file="${tm_file} ../../libgcc/config/frv/frv-abi.h" libgcc_tm_file="${libgcc_tm_file} 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)
...@@ -2197,7 +2205,8 @@ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*) ...@@ -2197,7 +2205,8 @@ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
extra_headers=altivec.h extra_headers=altivec.h
;; ;;
rx-*-elf*) rx-*-elf*)
tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file} ../../libgcc/config/rx/rx-abi.h" tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
libgcc_tm_file="${libgcc_tm_file} rx/rx-abi.h"
tmake_file="${tmake_file} rx/t-rx" tmake_file="${tmake_file} rx/t-rx"
;; ;;
s390-*-linux*) s390-*-linux*)
......
/* Configuration file for Symbian OS on ARM processors. /* Configuration file for Symbian OS on ARM processors.
Copyright (C) 2004, 2005, 2007, 2008 Copyright (C) 2004, 2005, 2007, 2008, 2011
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC Contributed by CodeSourcery, LLC
...@@ -71,11 +71,6 @@ ...@@ -71,11 +71,6 @@
#define SUBTARGET_ASM_FLOAT_SPEC \ #define SUBTARGET_ASM_FLOAT_SPEC \
"%{!mfpu=*:-mfpu=vfp} %{!mcpu=*:%{!march=*:-march=armv5t}}" "%{!mfpu=*:-mfpu=vfp} %{!mcpu=*:%{!march=*:-march=armv5t}}"
/* SymbianOS provides the BPABI routines in a separate library.
Therefore, we do not need to define any of them in libgcc. */
#undef RENAME_LIBRARY
#define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) /* empty */
/* Define the __symbian__ macro. */ /* Define the __symbian__ macro. */
#undef TARGET_OS_CPP_BUILTINS #undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \ #define TARGET_OS_CPP_BUILTINS() \
......
...@@ -618,6 +618,8 @@ xm_include_list ...@@ -618,6 +618,8 @@ xm_include_list
xm_file_list xm_file_list
tm_p_include_list tm_p_include_list
tm_p_file_list tm_p_file_list
libgcc_tm_include_list
libgcc_tm_file_list
tm_defines tm_defines
tm_include_list tm_include_list
tm_file_list tm_file_list
...@@ -11233,6 +11235,13 @@ for f in $tm_file; do ...@@ -11233,6 +11235,13 @@ for f in $tm_file; do
esac esac
done done
libgcc_tm_file_list=
libgcc_tm_include_list=
for f in $libgcc_tm_file; do
libgcc_tm_file_list="${libgcc_tm_file_list} \$(srcdir)/../libgcc/config/$f"
libgcc_tm_include_list="${libgcc_tm_include_list} ../libgcc/config/$f"
done
tm_p_file_list= tm_p_file_list=
tm_p_include_list= tm_p_include_list=
for f in $tm_p_file; do for f in $tm_p_file; do
...@@ -17505,7 +17514,7 @@ else ...@@ -17505,7 +17514,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 17508 "configure" #line 17517 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
...@@ -17611,7 +17620,7 @@ else ...@@ -17611,7 +17620,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 17614 "configure" #line 17623 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
...@@ -26223,6 +26232,8 @@ fi ...@@ -26223,6 +26232,8 @@ fi
# Echo link setup. # Echo link setup.
if test x${build} = x${host} ; then if test x${build} = x${host} ; then
if test x${host} = x${target} ; then if test x${host} = x${target} ; then
......
...@@ -1638,6 +1638,13 @@ for f in $tm_file; do ...@@ -1638,6 +1638,13 @@ for f in $tm_file; do
esac esac
done done
libgcc_tm_file_list=
libgcc_tm_include_list=
for f in $libgcc_tm_file; do
libgcc_tm_file_list="${libgcc_tm_file_list} \$(srcdir)/../libgcc/config/$f"
libgcc_tm_include_list="${libgcc_tm_include_list} ../libgcc/config/$f"
done
tm_p_file_list= tm_p_file_list=
tm_p_include_list= tm_p_include_list=
for f in $tm_p_file; do for f in $tm_p_file; do
...@@ -4773,6 +4780,8 @@ AC_SUBST(thread_file) ...@@ -4773,6 +4780,8 @@ AC_SUBST(thread_file)
AC_SUBST(tm_file_list) AC_SUBST(tm_file_list)
AC_SUBST(tm_include_list) AC_SUBST(tm_include_list)
AC_SUBST(tm_defines) AC_SUBST(tm_defines)
AC_SUBST(libgcc_tm_file_list)
AC_SUBST(libgcc_tm_include_list)
AC_SUBST(tm_p_file_list) AC_SUBST(tm_p_file_list)
AC_SUBST(tm_p_include_list) AC_SUBST(tm_p_include_list)
AC_SUBST(xm_file_list) AC_SUBST(xm_file_list)
......
#! /bin/sh #! /bin/sh
# Copyright (C) 2001, 2002, 2006, 2007, 2010 Free Software Foundation, Inc. # Copyright (C) 2001, 2002, 2006, 2007, 2010, 2011
# Free Software Foundation, 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
...@@ -19,7 +20,7 @@ ...@@ -19,7 +20,7 @@
# Generate gcc's various configuration headers: # Generate gcc's various configuration headers:
# config.h, tconfig.h, bconfig.h, tm.h, and tm_p.h. # config.h, tconfig.h, bconfig.h, tm.h, libgcc_tm.h, and tm_p.h.
# $1 is the file to generate. DEFINES, HEADERS, and possibly # $1 is the file to generate. DEFINES, HEADERS, and possibly
# TARGET_CPU_DEFAULT are expected to be set in the environment. # TARGET_CPU_DEFAULT are expected to be set in the environment.
...@@ -88,8 +89,9 @@ if [ -n "$HEADERS" ]; then ...@@ -88,8 +89,9 @@ if [ -n "$HEADERS" ]; then
fi fi
# If this is tm.h, now include insn-flags.h only if IN_GCC is defined # If this is tm.h, now include insn-flags.h only if IN_GCC is defined
# but neither GENERATOR_FILE nor USED_FOR_TARGET is defined. (Much of # but neither GENERATOR_FILE nor USED_FOR_TARGET is defined. Also
# this is temporary.) # include libgcc_tm.h if USED_FOR_TARGET is defined. (Much of this is
# temporary.)
case $output in case $output in
tm.h ) tm.h )
...@@ -97,6 +99,9 @@ case $output in ...@@ -97,6 +99,9 @@ case $output in
#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET #if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
# include "insn-flags.h" # include "insn-flags.h"
#endif #endif
#ifdef USED_FOR_TARGET
# include "libgcc_tm.h"
#endif
EOF EOF
;; ;;
esac esac
......
...@@ -761,6 +761,10 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; ...@@ -761,6 +761,10 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
CAN_DEBUG_WITHOUT_FP UNLIKELY_EXECUTED_TEXT_SECTION_NAME \ CAN_DEBUG_WITHOUT_FP UNLIKELY_EXECUTED_TEXT_SECTION_NAME \
HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P
/* Target macros only used for code built for the target, that have
moved to libgcc-tm.h. */
#pragma GCC poison DECLARE_LIBRARY_RENAMES
/* Other obsolete target macros, or macros that used to be in target /* Other obsolete target macros, or macros that used to be in target
headers and were not used, and may be obsolete or may never have headers and were not used, and may be obsolete or may never have
been used. */ been used. */
......
2011-05-10 Joseph Myers <joseph@codesourcery.com>
* config/arm/symbian-lib.h: New.
2011-05-04 Chris Demetriou <cgd@google.com> 2011-05-04 Chris Demetriou <cgd@google.com>
* config/i386/morestack.S (__i686.get_pc_thunk.bx): Rename to... * config/i386/morestack.S (__i686.get_pc_thunk.bx): Rename to...
......
/* Configuration file for Symbian OS on ARM processors, library renames.
Copyright (C) 2004, 2011 Free Software Foundation, Inc.
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.
Under Section 7 of GPL version 3, you are granted additional
permissions described in the GCC Runtime Library Exception, version
3.1, as published by the Free Software Foundation.
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/>. */
/* SymbianOS provides the BPABI routines in a separate library.
Therefore, we do not need to define any of them in libgcc. */
#undef RENAME_LIBRARY
#define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) /* empty */
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