aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorIain Sandoe <iain@codesourcery.com>2014-10-07 18:59:24 +0000
committerMike Stump <mrs@gcc.gnu.org>2014-10-07 18:59:24 +0000
commit07056cbafb1bae32d3bbca42efd02f48143dcc54 (patch)
tree7d036ee2032de57b92921eb4b8395a2d8ed0a14d /gcc/config
parent1743a5251916586d633d42661cf655cdc44cc6d5 (diff)
downloadgcc-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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c8
1 files changed, 5 insertions, 3 deletions
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));