[PATCH] gas/config/i386.c for PE
DJ Delorie
dj@delorie.com
Tue Jun 20 09:56:00 GMT 2000
I don't know what the original patch fixed, but I've finally narrowed
down the PE brokenness to this simple fix. Hopefully, with this fix,
the PE backend (for cygwin, at least) will be usable again. It seems
to work for me now :-)
OK to apply?
2000-06-20 DJ Delorie <dj@cygnus.com>
* config/i386/tc-i386.c (tc_i386_fix_adjustable): Revert
change from Sept 1999; RVA relocs need to be treated more like
DIR32 relocs for cygwin import libraries to work properly.
Index: gas/config/tc-i386.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-i386.c,v
retrieving revision 1.54
diff -p -3 -r1.54 tc-i386.c
*** tc-i386.c 2000/06/19 01:22:40 1.54
--- tc-i386.c 2000/06/20 01:29:19
*************** tc_i386_fix_adjustable (fixP)
*** 1034,1040 ****
if (fixP->fx_r_type == BFD_RELOC_386_GOTOFF
|| fixP->fx_r_type == BFD_RELOC_386_PLT32
|| fixP->fx_r_type == BFD_RELOC_386_GOT32
! || fixP->fx_r_type == BFD_RELOC_RVA
|| fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
|| fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
return 0;
--- 1034,1040 ----
if (fixP->fx_r_type == BFD_RELOC_386_GOTOFF
|| fixP->fx_r_type == BFD_RELOC_386_PLT32
|| fixP->fx_r_type == BFD_RELOC_386_GOT32
! /* || fixP->fx_r_type == BFD_RELOC_RVA*/
|| fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
|| fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
return 0;
More information about the Binutils
mailing list