From 255eea9a74b7dc91227147f6322df40cbfb1024c Mon Sep 17 00:00:00 2001 From: "David E. O'Brien" Date: Sat, 19 Jun 2004 20:40:00 +0000 Subject: [PATCH] Grrr. our rev 1.19 (FSF GCC rev 1.579) is causing some problems on 32-bit systems. So only use the rev 1.19 (FSF GCC rev 1.579) change on 64-bit systems. --- contrib/gcc/config/i386/i386.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/contrib/gcc/config/i386/i386.c b/contrib/gcc/config/i386/i386.c index 9f00dd5702c..ff6b5caed72 100644 --- a/contrib/gcc/config/i386/i386.c +++ b/contrib/gcc/config/i386/i386.c @@ -14607,14 +14607,23 @@ x86_output_mi_thunk (file, thunk, delta, vcall_offset, function) output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops); } +#ifdef __amd64__ xops[0] = XEXP (DECL_RTL (function), 0); +#else + xops[0] = DECL_RTL (function); +#endif if (TARGET_64BIT) { if (!flag_pic || (*targetm.binds_local_p) (function)) output_asm_insn ("jmp\t%P0", xops); else { +#ifdef __amd64__ tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, xops[0]), UNSPEC_GOTPCREL); +#else + tmp = XEXP (xops[0], 0); + tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, tmp), UNSPEC_GOTPCREL); +#endif tmp = gen_rtx_CONST (Pmode, tmp); tmp = gen_rtx_MEM (QImode, tmp); xops[0] = tmp; -- 2.45.2