+2007-09-07 Richard Sandiford <richard@codesourcery.com>
+
+ * mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
+ (CXXFLAGS_FOR_TARGET): Likewise.
+
2007-08-18 Paul Brook <paul@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
# 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.
-
-CFLAGS_FOR_TARGET = -Os -fno-optimize-sibling-calls -mcode-xonly
-CXXFLAGS_FOR_TARGET = -Os -fno-optimize-sibling-calls -mcode-xonly
+# 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