Commit 200feb07 by Rainer Orth Committed by Rainer Orth

Append to HOST_LIBGCC2_CFLAGS in libgcc

	* config.host (tmake_file): Correct comment.
	(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
	t-libgcc-pic.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.

	* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
	assigning.
	* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.

	* config/bfin/t-elf: Remove.
	* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.

From-SVN: r181098
parent c9cd1a07
2011-11-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2011-11-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config.host (tmake_file): Correct comment.
(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
t-libgcc-pic.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.
* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
assigning.
* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.
* config/bfin/t-elf: Remove.
* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.
2011-11-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config.host (*-*-rtems*): Add t-rtems to tmake_file. * config.host (*-*-rtems*): Add t-rtems to tmake_file.
(i[34567]86-*-rtems*): Remove t-rtems from tmake_file. (i[34567]86-*-rtems*): Remove t-rtems from tmake_file.
(lm32-*-elf*, lm32-*-rtems*): Split into ... (lm32-*-elf*, lm32-*-rtems*): Split into ...
......
...@@ -58,8 +58,7 @@ ...@@ -58,8 +58,7 @@
# Defaults to "$cpu_type/sfp-machine.h" if it exists, # Defaults to "$cpu_type/sfp-machine.h" if it exists,
# no-sfp-machine.h otherwise. # no-sfp-machine.h otherwise.
# tmake_file A list of machine-description-specific # tmake_file A list of machine-description-specific
# makefile-fragments, if different from # makefile fragments.
# "$cpu_type/t-$cpu_type".
# tm_defines List of target macros to define for all compilations. # tm_defines List of target macros to define for all compilations.
# tm_file A list of target macro files used only for code # tm_file A list of target macro files used only for code
# built for the target, not the host. These files # built for the target, not the host. These files
...@@ -402,16 +401,16 @@ avr-*-*) ...@@ -402,16 +401,16 @@ avr-*-*)
tm_file="$tm_file avr/avr-lib.h" tm_file="$tm_file avr/avr-lib.h"
;; ;;
bfin*-elf*) bfin*-elf*)
tmake_file="bfin/t-bfin bfin/t-elf bfin/t-crtlibid bfin/t-crtstuff t-fdpbit" tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o" extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
;; ;;
bfin*-uclinux*) bfin*-uclinux*)
tmake_file="bfin/t-bfin bfin/t-elf bfin/t-crtlibid bfin/t-crtstuff t-fdpbit" tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o" extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
md_unwind_header=bfin/linux-unwind.h md_unwind_header=bfin/linux-unwind.h
;; ;;
bfin*-linux-uclibc*) bfin*-linux-uclibc*)
tmake_file="$tmake_file bfin/t-bfin bfin/t-elf bfin/t-crtstuff t-fdpbit bfin/t-linux" tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux"
# No need to build crtbeginT.o on uClibc systems. Should probably # No need to build crtbeginT.o on uClibc systems. Should probably
# be moved to the OS specific section above. # be moved to the OS specific section above.
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
...@@ -1099,7 +1098,7 @@ vax-*-netbsdelf*) ...@@ -1099,7 +1098,7 @@ vax-*-netbsdelf*)
vax-*-openbsd*) vax-*-openbsd*)
;; ;;
xstormy16-*-elf) xstormy16-*-elf)
tmake_file=t-fdpbit tmake_file="stormy16/t-stormy16 t-fdpbit"
;; ;;
xtensa*-*-elf*) xtensa*-*-elf*)
tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf" tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
......
...@@ -15,4 +15,4 @@ LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \ ...@@ -15,4 +15,4 @@ LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
# Currently there is a bug somewhere in GCC's alias analysis # Currently there is a bug somewhere in GCC's alias analysis
# or scheduling code that is breaking _fpmul_parts in fp-bit.c. # or scheduling code that is breaking _fpmul_parts in fp-bit.c.
# Disabling function inlining is a workaround for this problem. # Disabling function inlining is a workaround for this problem.
HOST_LIBGCC2_CFLAGS = -fno-inline HOST_LIBGCC2_CFLAGS += -fno-inline
...@@ -3,4 +3,4 @@ LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _clzsi ...@@ -3,4 +3,4 @@ LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _clzsi
# Currently there is a bug somewhere in GCC's alias analysis # Currently there is a bug somewhere in GCC's alias analysis
# or scheduling code that is breaking _fpmul_parts in fp-bit.c. # or scheduling code that is breaking _fpmul_parts in fp-bit.c.
# Disabling function inlining is a workaround for this problem. # Disabling function inlining is a workaround for this problem.
HOST_LIBGCC2_CFLAGS = -fno-inline HOST_LIBGCC2_CFLAGS += -fno-inline
...@@ -53,7 +53,7 @@ LIB2FUNCS_EXCLUDE = \ ...@@ -53,7 +53,7 @@ LIB2FUNCS_EXCLUDE = \
# We do not have the DF type. # We do not have the DF type.
# Most of the C functions in libgcc2 use almost all registers, # Most of the C functions in libgcc2 use almost all registers,
# so use -mcall-prologues for smaller code size. # so use -mcall-prologues for smaller code size.
HOST_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -mcall-prologues -Os HOST_LIBGCC2_CFLAGS += -DDF=SF -Dinhibit_libc -mcall-prologues -Os
# Extra 16-bit integer functions. # Extra 16-bit integer functions.
intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _clrsbXX2 intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _clrsbXX2
......
HOST_LIBGCC2_CFLAGS = $(PICFLAG)
...@@ -20,7 +20,7 @@ LIB2ADD = $(srcdir)/config/c6x/gef.c \ ...@@ -20,7 +20,7 @@ LIB2ADD = $(srcdir)/config/c6x/gef.c \
$(srcdir)/config/c6x/eqd.c $(srcdir)/config/c6x/eqd.c
# Avoid failures when the user's GOT becomes too large. # Avoid failures when the user's GOT becomes too large.
HOST_LIBGCC2_CFLAGS = -msdata=none HOST_LIBGCC2_CFLAGS += -msdata=none
LIB2ADDEH = $(srcdir)/config/c6x/unwind-c6x.c \ LIB2ADDEH = $(srcdir)/config/c6x/unwind-c6x.c \
$(srcdir)/config/c6x/libunwind.S \ $(srcdir)/config/c6x/libunwind.S \
......
...@@ -10,4 +10,4 @@ LIB2ADD = \ ...@@ -10,4 +10,4 @@ LIB2ADD = \
$(srcdir)/config/h8300/fixunssfsi.c $(srcdir)/config/h8300/fixunssfsi.c
# We do not have DF type, so fake out the libgcc2 compilation. # We do not have DF type, so fake out the libgcc2 compilation.
HOST_LIBGCC2_CFLAGS = -DDF=SF HOST_LIBGCC2_CFLAGS += -DDF=SF
CRTSTUFF_T_CFLAGS = -G 0 -msign-extend-enabled CRTSTUFF_T_CFLAGS = -G 0 -msign-extend-enabled
HOST_LIBGCC2_CFLAGS = -G 0 -msign-extend-enabled HOST_LIBGCC2_CFLAGS += -G 0 -msign-extend-enabled
# Turn off the SDA while compiling libgcc2. There are no headers for it # Turn off the SDA while compiling libgcc2. There are no headers for it
# and we want maximal upward compatibility here. # and we want maximal upward compatibility here.
HOST_LIBGCC2_CFLAGS = -G 0 HOST_LIBGCC2_CFLAGS += -G 0
# We need to use -fpic when we are using gcc to compile the routines in # We need to use -fpic when we are using gcc to compile the routines in
# initfini.c. This is only really needed when we are going to use gcc/g++ # initfini.c. This is only really needed when we are going to use gcc/g++
......
...@@ -2,4 +2,4 @@ LIB1ASMSRC = mcore/lib1funcs.S ...@@ -2,4 +2,4 @@ LIB1ASMSRC = mcore/lib1funcs.S
LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3 LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
# could use -msifilter to be safe from interrupt/jmp interactions and others. # could use -msifilter to be safe from interrupt/jmp interactions and others.
HOST_LIBGCC2_CFLAGS = -O3 -DNO_FLOATLIB_FIXUNSDFSI #-msifilter HOST_LIBGCC2_CFLAGS += -O3 -DNO_FLOATLIB_FIXUNSDFSI #-msifilter
# We must build libgcc2.a with -G 0, in case the user wants to link # We must build libgcc2.a with -G 0, in case the user wants to link
# without the $gp register. # without the $gp register.
HOST_LIBGCC2_CFLAGS = -G 0 HOST_LIBGCC2_CFLAGS += -G 0
HOST_LIBGCC2_CFLAGS = -mlibfuncs -O2 HOST_LIBGCC2_CFLAGS += -mlibfuncs -O2
# We need to turn off some assumptions on normality for code in crtstuff.c # We need to turn off some assumptions on normality for code in crtstuff.c
# and crt{i,n}.S, specifically about execution not continuing past the # and crt{i,n}.S, specifically about execution not continuing past the
......
...@@ -5,4 +5,4 @@ LIB2ADD = $(srcdir)/udivmod.c \ ...@@ -5,4 +5,4 @@ LIB2ADD = $(srcdir)/udivmod.c \
$(srcdir)/memmove.c \ $(srcdir)/memmove.c \
$(srcdir)/memset.c $(srcdir)/memset.c
HOST_LIBGCC2_CFLAGS = -O2 -mfloat32 HOST_LIBGCC2_CFLAGS += -O2 -mfloat32
...@@ -25,7 +25,7 @@ LIB2ADD = \ ...@@ -25,7 +25,7 @@ LIB2ADD = \
# Special libgcc setup. Make single/double floating point the same, # Special libgcc setup. Make single/double floating point the same,
# and use our own include files. # and use our own include files.
HOST_LIBGCC2_CFLAGS = -DDF=SF -I../../includes/ HOST_LIBGCC2_CFLAGS += -DDF=SF -I../../includes/
# Switch off all debugging for the embedded libraries. # Switch off all debugging for the embedded libraries.
# (embedded processors need small libraries by default). # (embedded processors need small libraries by default).
......
...@@ -59,5 +59,5 @@ div_table-4-300.o: $(srcdir)/config/sh/lib1funcs-4-300.S ...@@ -59,5 +59,5 @@ div_table-4-300.o: $(srcdir)/config/sh/lib1funcs-4-300.S
libgcc-4-300.a: div_table-4-300.o libgcc-4-300.a: div_table-4-300.o
$(AR_CREATE_FOR_TARGET) $@ div_table-4-300.o $(AR_CREATE_FOR_TARGET) $@ div_table-4-300.o
HOST_LIBGCC2_CFLAGS = -mieee HOST_LIBGCC2_CFLAGS += -mieee
...@@ -36,4 +36,4 @@ LIB2ADD = \ ...@@ -36,4 +36,4 @@ LIB2ADD = \
$(srcdir)/config/stormy16/cmpsi2.c \ $(srcdir)/config/stormy16/cmpsi2.c \
$(srcdir)/config/stormy16/ucmpsi2.c $(srcdir)/config/stormy16/ucmpsi2.c
HOST_LIBGCC2_CFLAGS = -O2 HOST_LIBGCC2_CFLAGS += -O2
# This is currently needed to compile libgcc2 for threads support # This is currently needed to compile libgcc2 for threads support
HOST_LIBGCC2_CFLAGS=-pthread HOST_LIBGCC2_CFLAGS += -pthread
# FIXME: Need to specify the next two?
# No special flags needed for libgcc.a
HOST_LIBGCC2_CFLAGS =
# Don't build libgcc.a with debug info # Don't build libgcc.a with debug info
LIBGCC2_DEBUG_CFLAGS = LIBGCC2_DEBUG_CFLAGS =
......
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