This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
[PATCH] gas/config/i386.c for PE
- To: binutils at sourceware dot cygnus dot com
- Subject: [PATCH] gas/config/i386.c for PE
- From: DJ Delorie <dj at delorie dot com>
- Date: Tue, 20 Jun 2000 12:56:10 -0400
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;