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.

Reply via email to