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.