http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47558
--- Comment #42 from Jack Howarth <howarth at nitro dot med.uc.edu> 2011-02-04
03:16:44 UTC ---
The patch in Comment 40 is insufficient to eliminate the exception traceback
failures in xplor-nih and it still back traces into FSF libgcc's unwinder when
it crashes. I believe...
1) We now know that FSF gcc isn't properly sandwiching -lgcc with -lSystem like
Apple gcc 4.2.1 does or preceding -lgcc with -lSystem like clang does when
mmacosx-version-min=10.6.
2) We could consider -lgcc_ext.s.10.5 to be a corner case of the libgcc
situation and that we need...
-lSystem -lgcc_ext.s.10.5 -lgcc -no_compact_unwind -lSystem
on mmacosx-version-min=10.6. Thus I propose...
Index: gcc/config/darwin.h
===================================================================
--- gcc/config/darwin.h (revision 169820)
+++ gcc/config/darwin.h (working copy)
@@ -329,11 +329,13 @@ extern GTY(()) int darwin_ms_struct;
%:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
%:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
%:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+ %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) \
%:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
-lgcc ; \
:%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
%:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
%:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+ %:version-compare(>= 10.6 mmacosx-version-min= -lSystem) \
%:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
-lgcc }"
instead.