This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[PATCH] gas/config/i386.c for PE



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;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]