# HG changeset patch
# Parent 191ff9ddc1b0e6cab1dce11e2bc047114a46c907
Append to HOST_LIBGCC2_CFLAGS in libgcc
@@ -58,8 +58,7 @@
# Defaults to "$cpu_type/sfp-machine.h" if it exists,
# no-sfp-machine.h otherwise.
# tmake_file A list of machine-description-specific
-# makefile-fragments, if different from
-# "$cpu_type/t-$cpu_type".
+# makefile fragments.
# tm_defines List of target macros to define for all compilations.
# tm_file A list of target macro files used only for code
# built for the target, not the host. These files
@@ -402,16 +401,16 @@ avr-*-*)
tm_file="$tm_file avr/avr-lib.h"
;;
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"
;;
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"
md_unwind_header=bfin/linux-unwind.h
;;
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
# be moved to the OS specific section above.
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
@@ -1095,7 +1094,7 @@ vax-*-netbsdelf*)
vax-*-openbsd*)
;;
xstormy16-*-elf)
- tmake_file=t-fdpbit
+ tmake_file="stormy16/t-stormy16 t-fdpbit"
;;
xtensa*-*-elf*)
tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
@@ -15,4 +15,4 @@ LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi
# Currently there is a bug somewhere in GCC's alias analysis
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
# 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 _umodsi
# Currently there is a bug somewhere in GCC's alias analysis
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
# 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 = \
# We do not have the DF type.
# Most of the C functions in libgcc2 use almost all registers,
# 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.
intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _clrsbXX2
deleted file mode 100644
@@ -1,1 +0,0 @@
-HOST_LIBGCC2_CFLAGS = $(PICFLAG)
@@ -20,7 +20,7 @@ LIB2ADD = $(srcdir)/config/c6x/gef.c \
$(srcdir)/config/c6x/eqd.c
# 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 \
$(srcdir)/config/c6x/libunwind.S \
@@ -10,4 +10,4 @@ LIB2ADD = \
$(srcdir)/config/h8300/fixunssfsi.c
# We do not have DF type, so fake out the libgcc2 compilation.
-HOST_LIBGCC2_CFLAGS = -DDF=SF
+HOST_LIBGCC2_CFLAGS += -DDF=SF
@@ -1,2 +1,2 @@
CRTSTUFF_T_CFLAGS = -G 0 -msign-extend-enabled
-HOST_LIBGCC2_CFLAGS = -G 0 -msign-extend-enabled
+HOST_LIBGCC2_CFLAGS += -G 0 -msign-extend-enabled
@@ -1,6 +1,6 @@
# Turn off the SDA while compiling libgcc2. There are no headers for it
# 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
# initfini.c. This is only really needed when we are going to use gcc/g++
@@ -2,4 +2,4 @@ LIB1ASMSRC = mcore/lib1funcs.S
LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
# 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
@@ -1,3 +1,3 @@
# We must build libgcc2.a with -G 0, in case the user wants to link
# without the $gp register.
-HOST_LIBGCC2_CFLAGS = -G 0
+HOST_LIBGCC2_CFLAGS += -G 0
@@ -1,4 +1,4 @@
-HOST_LIBGCC2_CFLAGS = -mlibfuncs -O2
+HOST_LIBGCC2_CFLAGS += -mlibfuncs -O2
# 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
@@ -5,4 +5,4 @@ LIB2ADD = $(srcdir)/udivmod.c \
$(srcdir)/memmove.c \
$(srcdir)/memset.c
-HOST_LIBGCC2_CFLAGS = -O2 -mfloat32
+HOST_LIBGCC2_CFLAGS += -O2 -mfloat32
@@ -25,7 +25,7 @@ LIB2ADD = \
# Special libgcc setup. Make single/double floating point the same,
# 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.
# (embedded processors need small libraries by default).
@@ -59,5 +59,5 @@ div_table-4-300.o: $(srcdir)/config/sh/l
libgcc-4-300.a: 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 = \
$(srcdir)/config/stormy16/cmpsi2.c \
$(srcdir)/config/stormy16/ucmpsi2.c
-HOST_LIBGCC2_CFLAGS = -O2
+HOST_LIBGCC2_CFLAGS += -O2
@@ -1,3 +1,3 @@
# This is currently needed to compile libgcc2 for threads support
-HOST_LIBGCC2_CFLAGS=-pthread
+HOST_LIBGCC2_CFLAGS += -pthread
@@ -1,7 +1,3 @@
-# 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
LIBGCC2_DEBUG_CFLAGS =