This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, DARWIN] fix emutls exports in libgcc_s10.{4,5}.dylib


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]