aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-05-20 13:48:16 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-05-20 13:48:16 +0000
commit321098a5ad7818e3c08bcd5144f3049c4884309a (patch)
treedca326b3a770d692301e75fd4ceb2e99051f6f2c /gas/config
parenteca41774ed42348bcea54dce730cc4b7ea47d9c6 (diff)
downloadfsf-binutils-gdb-321098a5ad7818e3c08bcd5144f3049c4884309a.zip
fsf-binutils-gdb-321098a5ad7818e3c08bcd5144f3049c4884309a.tar.gz
fsf-binutils-gdb-321098a5ad7818e3c08bcd5144f3049c4884309a.tar.bz2
2009-05-20 Kai Tietz <kai.tietz@onevision.com>
H.J. Lu <hongjiu.lu@intel.com> * 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.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/obj-coff.h12
-rw-r--r--gas/config/tc-i386.c17
-rw-r--r--gas/config/tc-i386.h6
3 files changed, 13 insertions, 22 deletions
diff --git a/gas/config/obj-coff.h b/gas/config/obj-coff.h
index d7e985d..11a1123 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 dd2adcc..997d46e 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 dab3c55..bb4821a 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