aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog21
-rw-r--r--gas/config/obj-coff.h12
-rw-r--r--gas/config/tc-i386.c17
-rw-r--r--gas/config/tc-i386.h6
4 files changed, 31 insertions, 25 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index d9af8b4..baba4a9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,18 @@
+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.
+
2009-05-19 DJ Delorie <dj@redhat.com>
* config/tc-mep.c (mep_machine): Only check CPU flags, not COP flags.
@@ -13,8 +28,8 @@
2009-05-17 Kai Tietz <kai.tietz@onevision.com>
- * 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 <dj@redhat.com>
@@ -685,7 +700,7 @@
qdsub in Thumb-2 mode.
2009-01-29 Paul Brook <paul@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
* 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 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