On Dec 10, 2008, at 10:23 AM, IainS wrote:
I wonder what a good long-term solution would be?
You can try something like:
#define
REAL_LIBGCC_SPEC \
"%{static-libgcc|static: -lgcc_eh -
lgcc; \
shared-libgcc|fexceptions|fgnu-
runtime: \
%:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.
10.4) \
%:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.
10.5) \
-lgcc_eh -
lgcc; \
:%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.
10.4) \
%:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.
10.5) \
-lgcc_eh -lgcc}"
in config/darwin.h. I'm thinking that most of the symbols should then
come from the shared libraries as applicable, and newer routines in
gcc_eh (like the thread emulation package, which has nothing to do
with eh, right?) can be found. Another possibility, would be to split
out the tls emulation package from gcc_eh. We avoid gcc_eh, so as to
not pull in any routines that would shear with those in the system
libgcc_s.