diff --git a/config/ChangeLog b/config/ChangeLog index 868e0e86aad..f3d9fe98d70 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,9 @@ +2007-09-21 Richard Sandiford + + * mt-sde (CFLAGS_FOR_TARGET): Replace -fno-optimize-sibling-calls + with -minterlink-mips16. + (CXXFLAGS_FOR_TARGET): Likewise. + 2007-09-20 Richard Sandiford * mt-mips-elfoabi: New file. diff --git a/config/mt-sde b/config/mt-sde index fbdc081fe33..775e50dd732 100644 --- a/config/mt-sde +++ b/config/mt-sde @@ -1,10 +1,10 @@ -# We default to building libraries optimised for size. We switch off -# sibling-call optimization to permit interlinking of MIPS16 and -# non-MIPS16 functions. The -mcode-xonly option allows MIPS16 libraries -# to run on Harvard-style split I/D memories, so long as they have the -# D-to-I redirect for PC-relative loads. -mno-gpopt has two purposes: -# it allows libraries to be used in situations where $gp != our _gp, -# and it allows them to be built with -G8 while retaining link compability -# with -G0 and -G4. -CFLAGS_FOR_TARGET = -Os -fno-optimize-sibling-calls -mcode-xonly -mno-gpopt -CXXFLAGS_FOR_TARGET = -Os -fno-optimize-sibling-calls -mcode-xonly -mno-gpopt +# We default to building libraries optimised for size. We use +# -minterlink-mips16 so that the non-MIPS16 libraries can still be +# linked against partly-MIPS16 code. The -mcode-xonly option allows +# MIPS16 libraries to run on Harvard-style split I/D memories, so long +# as they have the D-to-I redirect for PC-relative loads. -mno-gpopt +# has two purposes: it allows libraries to be used in situations where +# $gp != our _gp, and it allows them to be built with -G8 while +# retaining link compability with -G0 and -G4. +CFLAGS_FOR_TARGET = -Os -minterlink-mips16 -mcode-xonly -mno-gpopt +CXXFLAGS_FOR_TARGET = -Os -minterlink-mips16 -mcode-xonly -mno-gpopt diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1c05e345159..d6eeb98af3e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-09-21 Richard Sandiford + + * config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Delete. + 2007-09-20 Nigel Stephens Chao-ying Fu diff --git a/gcc/config/mips/t-sde b/gcc/config/mips/t-sde index e019cbbb718..a6d4290750f 100644 --- a/gcc/config/mips/t-sde +++ b/gcc/config/mips/t-sde @@ -10,14 +10,6 @@ $(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/mips/crtn.asm -# We must build libgcc2.a with -G 0, in case the user wants to link -# without the $gp register. Use -fno-optimize-sibling-calls in case -# we have a mixed mips16/non-mips16 environment where a plain "jump" -# instuction won't work across the divide (no jx instruction). -# Compile libraries with -mcode-xonly, so that they are link-compatible -# with both -mcode-readable=pcrel and -mcode-readable=yes. -TARGET_LIBGCC2_CFLAGS = -G 0 -fno-optimize-sibling-calls -mcode-xonly - MULTILIB_OPTIONS = EL/EB mips32/mips32r2/mips64 mips16 msoft-float/mfp64 mcode-readable=no MULTILIB_DIRNAMES = el eb mips32 mips32r2 mips64 mips16 sof f64 spram MULTILIB_MATCHES = EL=mel EB=meb