The following fails:
FAIL: g++.dg/eh/simd-3.C -std=gnu++98 execution test
FAIL: g++.dg/eh/simd-3.C -std=gnu++11 execution test
FAIL: g++.dg/eh/simd-4.C -std=gnu++98 execution test
FAIL: g++.dg/eh/simd-4.C -std=gnu++11 execution test
are the tip of an "unwinding doesn't work with vectors" iceberg ...
and is caused by the unwinder having the wrong size for vec registers
- which, is caused by the unwinder being built with altivec disabled
- which is caused by the unwinder being built with -mmacosx-version-
min=10.4 forced on.
This strategy was (part of a) solution for the situation that system
libraries might be installed on either G4 or G3 hardware.
A (low priority) TODO is to provide an updated solution to that
desideratum - low priority since it affects a vanishingly small number
of potential Users.
The fix for the fails (and to make unwinding with vectors work on
Darwin9) is to build the unwinder 'native'.
(as part of the TODO above - we also need to figure a way to get the
register sizes right for Darwin 8).
OK for trunk?
Iain
libgcc:
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Remove
-mmacosx-version-min=10.4.
(HOST_LIBGCC2_CFLAGS): Likewise.
(LIB2ADD): Correct whitespace.
(LIB2ADD_ST): Add comment.
Index: libgcc/config/rs6000/t-darwin
===================================================================
--- libgcc/config/rs6000/t-darwin (revision 181772)
+++ libgcc/config/rs6000/t-darwin (working copy)
@@ -1,23 +1,22 @@
-DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall -mmacosx-version-min=10.4
+DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall
crt2.o: $(srcdir)/config/rs6000/darwin-crt2.c
$(crt_compile) $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) -c $<
LIB2ADD = $(srcdir)/config/rs6000/darwin-tramp.S \
$(srcdir)/config/darwin-64.c \
- $(srcdir)/config/rs6000/darwin-fpsave.S \
- $(srcdir)/config/rs6000/darwin-gpsave.S \
+ $(srcdir)/config/rs6000/darwin-fpsave.S \
+ $(srcdir)/config/rs6000/darwin-gpsave.S \
$(srcdir)/config/rs6000/darwin-world.S \
$(srcdir)/config/rs6000/ppc64-fp.c
+# ??? Is darwin-vecsave.S actually ever used? - not by recent FSF compilers.
LIB2ADD_ST = \
$(srcdir)/config/rs6000/darwin-vecsave.S
# The .S files above are designed to run on all processors, even though
# they use AltiVec instructions.
# -Wa is used because -force_cpusubtype_ALL doesn't work with -dynamiclib.
-# -mmacosx-version-min=10.4 is used to provide compatibility for code from
-# earlier OSX versions.
-HOST_LIBGCC2_CFLAGS += -Wa,-force_cpusubtype_ALL -mmacosx-version-min=10.4
+HOST_LIBGCC2_CFLAGS += -Wa,-force_cpusubtype_ALL
LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c