diff options
author | Iain Sandoe <iain@codesourcery.com> | 2014-10-07 18:59:24 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 2014-10-07 18:59:24 +0000 |
commit | 07056cbafb1bae32d3bbca42efd02f48143dcc54 (patch) | |
tree | 7d036ee2032de57b92921eb4b8395a2d8ed0a14d | |
parent | 1743a5251916586d633d42661cf655cdc44cc6d5 (diff) | |
download | gcc-07056cbafb1bae32d3bbca42efd02f48143dcc54.zip gcc-07056cbafb1bae32d3bbca42efd02f48143dcc54.tar.gz gcc-07056cbafb1bae32d3bbca42efd02f48143dcc54.tar.bz2 |
re PR target/61387 (~900 test failures on on x86_64-apple-darwin13 for g++ with -m64 after r211089)
2014-10-07 Iain Sandoe <iain@codesourcery.com>
PR target/61387
* config/i386/i386.c (x86_output_mi_thunk): Fix darwin fallout.
From-SVN: r215983
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7f4094d..e198b2b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-10-07 Iain Sandoe <iain@codesourcery.com> + + PR target/61387 + * config/i386/i386.c (x86_output_mi_thunk): Fix darwin fallout. + 2014-10-07 Aldy Hernandez <aldyh@redhat.com> * dwarf2out.c: Remove current_function_has_inlines. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index ed8fe2d..4c4a6eb 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -38979,9 +38979,11 @@ x86_output_mi_thunk (FILE *file, tree, HOST_WIDE_INT delta, { if (sibcall_insn_operand (fnaddr, word_mode)) { - tmp = gen_rtx_CALL (VOIDmode, fnaddr, const0_rtx); - tmp = emit_call_insn (tmp); - SIBLING_CALL_P (tmp) = 1; + fnaddr = XEXP (DECL_RTL (function), 0); + tmp = gen_rtx_MEM (QImode, fnaddr); + tmp = gen_rtx_CALL (VOIDmode, tmp, const0_rtx); + tmp = emit_call_insn (tmp); + SIBLING_CALL_P (tmp) = 1; } else emit_jump_insn (gen_indirect_jump (fnaddr)); |