Merge FSF GCC rev 1.579 change ((x86_output_mi_thunk): Don't pass MEM to

%P0, just SYMBOL_REF) into GCC 3.3.3.  This fixes the bad C++ thunks code
generation building Firefox on AMD64.

Submitted by:	Sean McNeil <sean@mcneil.com>
This commit is contained in:
David E. O'Brien 2004-06-19 07:29:04 +00:00
parent 0a2df4773c
commit a3bfe8fd89
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=130711

View File

@ -14607,15 +14607,14 @@ x86_output_mi_thunk (file, thunk, delta, vcall_offset, function)
output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops);
}
xops[0] = DECL_RTL (function);
xops[0] = XEXP (DECL_RTL (function), 0);
if (TARGET_64BIT)
{
if (!flag_pic || (*targetm.binds_local_p) (function))
output_asm_insn ("jmp\t%P0", xops);
else
{
tmp = XEXP (xops[0], 0);
tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, tmp), UNSPEC_GOTPCREL);
tmp = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, xops[0]), UNSPEC_GOTPCREL);
tmp = gen_rtx_CONST (Pmode, tmp);
tmp = gen_rtx_MEM (QImode, tmp);
xops[0] = tmp;