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.
This commit is contained in:
David E. O'Brien 2004-06-19 20:40:00 +00:00
parent 5b728dfd69
commit 255eea9a74
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=130744

View File

@ -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;