This is the mail archive of the gcc-patches@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: libstdc++ darwin multilibbing support



> 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
+	multilib.
+	* config/os/bsd/darwin/os_defines.h: Add -fapple-kext and -static multilib support.
+	* configure.host (darwin[89]): 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?

-benjamin


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