------- Comment #36 from howarth at nitro dot med dot uc dot edu 2009-10-06 02:02 ------- This can be factored down to...
Index: gcc/config/darwin.c =================================================================== --- gcc/config/darwin.c (revision 152481) +++ gcc/config/darwin.c (working copy) @@ -1454,7 +1454,7 @@ { char *lab; - if (! for_eh) + if ((! for_eh) || (darwin_macosx_version_min && strverscmp(darwin_macosx_version_min, "10.6") >= 0)) return; lab = concat (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)), ".eh", NULL); @@ -1697,6 +1697,19 @@ if (dwarf_strict < 0) dwarf_strict = 1; + if ((darwin_macosx_version_min && strverscmp(darwin_macosx_version_min, "10.6") >= 0) || flag_reorder_blocks_and_partition) + { + if (flag_exceptions || + flag_unwind_tables || + !targetm.have_named_sections) + { + inform (input_location, + "-freorder-blocks-and-partition does not work with exceptions on this architecture"); + flag_reorder_blocks_and_partition = 0; + flag_reorder_blocks = 1; + } + } + if (flag_mkernel || flag_apple_kext) { /* -mkernel implies -fapple-kext for C++ */ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313