From 0717ebb78071ba63f55a5bbb40f27f74200a9a7f Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sat, 11 Sep 1999 23:46:09 +0000 Subject: [PATCH] 1999-09-11 Donn Terry * config.bfd (i[3456]86-*-interix*): Set targ_cflags to -DSTRICT_PE_FORMAT. * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather than __INTERIX. (coff_classify_symbol): Re-revert 1999-08-08 patch if STRICT_PE_FORMAT. --- bfd/ChangeLog | 7 +++++++ bfd/coffcode.h | 8 +++----- bfd/config.bfd | 2 ++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 94d87cc89c8..6a295e1087a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -7,6 +7,13 @@ 1999-09-11 Donn Terry + * config.bfd (i[3456]86-*-interix*): Set targ_cflags to + -DSTRICT_PE_FORMAT. + * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather + than __INTERIX. + (coff_classify_symbol): Re-revert 1999-08-08 patch if + STRICT_PE_FORMAT. + * libpei.h: New file, broken out of peicode.h. * peigen.c: New file, broken out of peicode.h. * peicode.h: A bunch of code moved out to libpei.h and peigen.c. diff --git a/bfd/coffcode.h b/bfd/coffcode.h index dfedf23fabd..f48886e34f2 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -827,8 +827,7 @@ styp_to_sec_flags (abfd, hdr, name, section) switch (aux.x_scn.x_comdat) { case IMAGE_COMDAT_SELECT_NODUPLICATES: -/* FIXME: This is bogus. It breaks cross-compilers. */ -#ifdef __INTERIX +#ifdef STRICT_PE_FORMAT sec_flags |= SEC_LINK_DUPLICATES_ONE_ONLY; #else sec_flags &= ~SEC_LINK_ONCE; @@ -849,8 +848,7 @@ styp_to_sec_flags (abfd, hdr, name, section) break; case IMAGE_COMDAT_SELECT_ASSOCIATIVE: -/* FIXME: This is bogus. It breaks cross-compilers. */ -#ifdef __INTERIX +#ifdef STRICT_PE_FORMAT /* FIXME: This is not currently implemented. */ sec_flags |= SEC_LINK_DUPLICATES_DISCARD; #else @@ -4265,7 +4263,7 @@ coff_classify_symbol (abfd, syment) return COFF_SYMBOL_LOCAL; } -#if 0 +#ifdef STRICT_PE_FORMAT /* This is correct for Microsoft generated objects, but it breaks gas generated objects. */ diff --git a/bfd/config.bfd b/bfd/config.bfd index afa5de76528..ac52a1f9105 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -311,6 +311,8 @@ case "${targ}" in i[3456]86-*-interix*) targ_defvec=i386pei_vec targ_selvecs="i386pe_vec" + # FIXME: This should eventually be checked at runtime. + targ_cflags=-DSTRICT_PE_FORMAT ;; i[3456]86-*-mingw32* | i[3456]86-*-cygwin* | i[3456]86-*-winnt | i[3456]86-*-pe) targ_defvec=i386pe_vec -- 2.30.2