https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61387
--- Comment #11 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- Is the following patch acceptable while waiting for a better understanding of the problem? --- ../_clean/gcc/config/i386/i386.c 2014-07-02 23:54:09.000000000 +0200 +++ gcc/config/i386/i386.c 2014-07-05 18:18:13.000000000 +0200 @@ -38899,7 +38899,7 @@ x86_output_mi_thunk (FILE *file, because we're going to do no optimization. */ if (MEM_P (fnaddr)) { - if (sibcall_insn_operand (fnaddr, word_mode)) + if (sibcall_insn_operand (fnaddr, word_mode) && !TARGET_MACHO) { tmp = gen_rtx_CALL (VOIDmode, fnaddr, const0_rtx); tmp = emit_call_insn (tmp);