So reduced patch would look something like...
Index: gcc/config/darwin.c
===================================================================
--- gcc/config/darwin.c (revision 152573)
+++ gcc/config/darwin.c (working copy)
@@ -1697,6 +1697,16 @@
if (dwarf_strict < 0)
dwarf_strict = 1;
+ /* Disable -freorder-blocks-and-partition for exception handling
or when
+ the target requested unwind info. */
+ if (flag_reorder_blocks_and_partition && (flag_exceptions ||
flag_unwind_tables))
+ {
+ 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++ */