From 321098a5ad7818e3c08bcd5144f3049c4884309a Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 20 May 2009 13:48:16 +0000 Subject: [PATCH] 2009-05-20 Kai Tietz H.J. Lu * config/obj-coff.h: Include "coff/x86_64.h" for x86 pe-coff. (TARGET_FORMAT): Removed for x86 pe-coff. (COFF_TARGET_FORMAT): Likewise. * config/tc-i386.c (md_longopts): Allow --64 for x86 pe-coff. (md_parse_option): Likewise. (md_show_usage): Show option --32/--64 for x86 pe-coff. (i386_target_format): Use also for x86 pe-coff. * config/tc-i386.h (TARGET_FORMAT): Defined as i386_target_format for x86 pe-coff. --- gas/ChangeLog | 21 ++++++++++++++++++--- gas/config/obj-coff.h | 12 +----------- gas/config/tc-i386.c | 17 ++++++++++------- gas/config/tc-i386.h | 6 ++---- 4 files changed, 31 insertions(+), 25 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index d9af8b447c..baba4a90e5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,18 @@ +2009-05-20 Kai Tietz + H.J. Lu + + * config/obj-coff.h: Include "coff/x86_64.h" for x86 pe-coff. + (TARGET_FORMAT): Removed for x86 pe-coff. + (COFF_TARGET_FORMAT): Likewise. + + * config/tc-i386.c (md_longopts): Allow --64 for x86 pe-coff. + (md_parse_option): Likewise. + (md_show_usage): Show option --32/--64 for x86 pe-coff. + (i386_target_format): Use also for x86 pe-coff. + + * config/tc-i386.h (TARGET_FORMAT): Defined as i386_target_format + for x86 pe-coff. + 2009-05-19 DJ Delorie * config/tc-mep.c (mep_machine): Only check CPU flags, not COP flags. @@ -13,8 +28,8 @@ 2009-05-17 Kai Tietz - * config/obj-coff.c (obj_coff_section): Add 'y' as - specifier for SEC_COFF_NOREAD section flag. + * config/obj-coff.c (obj_coff_section): Add 'y' as + specifier for SEC_COFF_NOREAD section flag. * doc/as.texinfo: Add documentation about .section flag 'y'. 2009-05-13 DJ Delorie @@ -685,7 +700,7 @@ qdsub in Thumb-2 mode. 2009-01-29 Paul Brook - Mark Mitchell + Mark Mitchell * config/tc-arm.c (do_t_mul): In Thumb-2 mode, use 16-bit encoding of MUL when possible. diff --git a/gas/config/obj-coff.h b/gas/config/obj-coff.h index d7e985dd97..11a1123237 100644 --- a/gas/config/obj-coff.h +++ b/gas/config/obj-coff.h @@ -55,22 +55,12 @@ #endif #ifdef TC_I386 -#ifndef TE_PEP +#ifdef TE_PEP #include "coff/x86_64.h" #else #include "coff/i386.h" #endif -#ifdef TE_PE -#ifdef TE_PEP -extern const char *i386_target_format (void); -#define TARGET_FORMAT i386_target_format () -#define COFF_TARGET_FORMAT "pe-x86-64" -#else -#define TARGET_FORMAT "pe-i386" -#endif -#endif - #ifndef TARGET_FORMAT #ifdef TE_PEP #define TARGET_FORMAT "coff-x86-64" diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index dd2adcc5fa..997d46ecc7 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -8018,7 +8018,8 @@ const char *md_shortopts = "qn"; struct option md_longopts[] = { {"32", no_argument, NULL, OPTION_32}, -#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined(TE_PEP) +#if (defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \ + || defined (TE_PE) || defined (TE_PEP)) {"64", no_argument, NULL, OPTION_64}, #endif {"divide", no_argument, NULL, OPTION_DIVIDE}, @@ -8071,7 +8072,8 @@ md_parse_option (int c, char *arg) .stab instead of .stab.excl. We always use .stab anyhow. */ break; #endif -#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined(TE_PEP) +#if (defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \ + || defined (TE_PE) || defined (TE_PEP)) case OPTION_64: { const char **list, **l; @@ -8258,7 +8260,8 @@ md_show_usage (stream) fprintf (stream, _("\ -s ignored\n")); #endif -#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined(TE_PEP) +#if (defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \ + || defined (TE_PE) || defined (TE_PEP)) fprintf (stream, _("\ --32/--64 generate 32bit/64bit code\n")); #endif @@ -8305,7 +8308,8 @@ md_show_usage (stream) } #if ((defined (OBJ_MAYBE_COFF) && defined (OBJ_MAYBE_AOUT)) \ - || defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined (TE_PEP)) + || defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \ + || defined (TE_PE) || defined (TE_PEP)) /* Pick the target format to use. */ @@ -8362,10 +8366,9 @@ i386_target_format (void) as_fatal (_("Unknown architecture")); switch (OUTPUT_FLAVOR) { -#ifdef TE_PEP +#if defined (TE_PE) || defined (TE_PEP) case bfd_target_coff_flavour: - return flag_code == CODE_64BIT ? COFF_TARGET_FORMAT : "pe-i386"; - break; + return flag_code == CODE_64BIT ? "pe-x86-64" : "pe-i386"; #endif #ifdef OBJ_MAYBE_AOUT case bfd_target_aout_flavour: diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index dab3c55b8c..bb4821a002 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -71,13 +71,11 @@ extern unsigned long i386_mach (void); #endif #if ((defined (OBJ_MAYBE_COFF) && defined (OBJ_MAYBE_AOUT)) \ - || defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) + || defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \ + || defined (TE_PE) || defined (TE_PEP)) extern const char *i386_target_format (void); #define TARGET_FORMAT i386_target_format () #else -#ifdef OBJ_ELF -#define TARGET_FORMAT ELF_TARGET_FORMAT -#endif #ifdef OBJ_AOUT #define TARGET_FORMAT AOUT_TARGET_FORMAT #endif -- 2.34.1