This is the mail archive of the
mailing list for the GCC project.
Re: libstdc++ darwin multilibbing support
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, mrs at apple dot com
- Date: Wed, 16 Feb 2005 11:04:07 -0600
- Subject: Re: libstdc++ darwin multilibbing support
- Organization: Red Hat / Chicago
- References: <13949B54-E27C-496D-8713-FB6399C8E6BA@apple.com>
> Here is a patch that adds darwin multilibbing support for -fapple-kext
> and -static to libstdc++.
This part is fine. ie:
+ * acinclude.mm4 (GLIBCXX_ENABLE_THREADS): Enable changing the threading model in a
+ * config/os/bsd/darwin/os_defines.h: Add -fapple-kext and -static multilib support.
+ * configure.host (darwin): Likewise.
+ * crossconfig.m4 (*-darwin*): Likewise.
+ * configure: Regenerate.
+ * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Likewise.
> The most useful non-darwin feature is the
> addition of support for -fno-exceptions multilib support for libsupc++.
This part completely puzzles me, and seems unnecessary: without it,
-fno-exceptions is fine for compilation. What you are doing is removing
definitions with this flag (which may make more sense, but is a
different idea than the current approach, which is that -fno-exceptions
should compile, and if people are using it, they aren't using exceptions
so this stuff doesn't matter.)
Can you explain why you're doing this again? Especially why guard.cc has
overlapping __EXCEPTIONS regions?
Do you think that __builtin_trap should be used consistently instead of std::abort?