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.
This commit is contained in:
H.J. Lu 2009-05-20 13:48:16 +00:00
parent eca41774ed
commit 321098a5ad
4 changed files with 31 additions and 25 deletions

View File

@ -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.

View File

@ -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"

View File

@ -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:

View File

@ -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