------- Comment #23 from howarth at nitro dot med dot uc dot edu 2009-10-02 05:00 ------- Oddly...
Index: config/darwin.c =================================================================== --- config/darwin.c (revision 152389) +++ config/darwin.c (working copy) @@ -1697,6 +1697,9 @@ if (dwarf_strict < 0) dwarf_strict = 1; + if (flag_unwind_tables) + flag_reorder_blocks_and_partition = 0; + if (flag_mkernel || flag_apple_kext) { /* -mkernel implies -fapple-kext for C++ */ doesn't solve the problem. However if I manually revert... --- /Users/howarth/gcc/gcc/opts.c 2009-09-28 19:33:18.000000000 -0400 +++ opts.c 2009-10-02 00:51:55.000000000 -0400 @@ -1054,12 +1054,7 @@ optimization. */ if (flag_unwind_tables && ! targetm.unwind_tables_default - && flag_reorder_blocks_and_partition - && (USING_SJLJ_EXCEPTIONS -#ifdef TARGET_UNWIND_INFO - || 1 -#endif - )) + && flag_reorder_blocks_and_partition) { inform (input_location, "-freorder-blocks-and-partition does not support unwind info on this architecture"); The failures are reduced down to just... FAIL: g++.dg/tree-prof/partition1.C compilation, -fprofile-use with the same error as before... /var/tmp//ccMjlW9T.s:620:FATAL:Symbol __Z3bari.eh already defined.compiler exited with status 1output is:/var/tmp//ccMjlW9T.s:620:FATAL:Symbol __Z3bari.eh already defined. Perhaps there is another instance of flag_reorder_blocks_and_partition being reset to 1 in the -fprofile-use case? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41313