This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
x86_64 binutils bug workaround removed
- From: Jan Hubicka <jh at suse dot cz>
- To: patches at x86-64 dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 27 Mar 2002 22:40:59 +0100
- Subject: x86_64 binutils bug workaround removed
Hi,
the binutils used to make off-by-4 mistake on PC relative data. This has been
recently fixed by Andreas Schwab (thanks!), but you need the corresponding fix
to gcc as well. I am checking the attached patch in mainline/release branch.
Please make sure to keep your trees in sync otherwise PIC switch jumptable
generation will break.
Wed Mar 27 22:27:20 CET 2002 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
Index: i386.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.c,v
retrieving revision 1.375
diff -c -3 -p -r1.375 i386.c
*** i386.c 2002/03/20 21:47:06 1.375
--- i386.c 2002/03/27 21:26:32
*************** ix86_output_addr_diff_elt (file, value,
*** 6650,6656 ****
int value, rel;
{
if (TARGET_64BIT)
! fprintf (file, "%s%s%d-.+4+(.-%s%d)\n",
ASM_LONG, LPREFIX, value, LPREFIX, rel);
else if (HAVE_AS_GOTOFF_IN_DATA)
fprintf (file, "%s%s%d@GOTOFF\n", ASM_LONG, LPREFIX, value);
--- 6650,6656 ----
int value, rel;
{
if (TARGET_64BIT)
! fprintf (file, "%s%s%d-.+(.-%s%d)\n",
ASM_LONG, LPREFIX, value, LPREFIX, rel);
else if (HAVE_AS_GOTOFF_IN_DATA)
fprintf (file, "%s%s%d@GOTOFF\n", ASM_LONG, LPREFIX, value);