Stop if -march=XXX is invalid.

2010-06-10  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (update_code_flag): New.
	(set_code_flag): Use it.
	(i386_target_format): Replace set_code_flag with update_code_flag.
This commit is contained in:
H.J. Lu 2010-06-10 16:38:17 +00:00
parent 34017a41b3
commit 78f12dd3eb
2 changed files with 30 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2010-06-10 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (update_code_flag): New.
(set_code_flag): Use it.
(i386_target_format): Replace set_code_flag with update_code_flag.
2010-06-10 Tristan Gingold <gingold@adacore.com>
* config/obj-som.h: Includes som/reloc.h

View File

@ -135,6 +135,7 @@ typedef struct
}
arch_entry;
static void update_code_flag (int, int);
static void set_code_flag (int);
static void set_16bit_gcc_code_flag (int);
static void set_intel_syntax (int);
@ -1922,8 +1923,10 @@ add_prefix (unsigned int prefix)
}
static void
set_code_flag (int value)
update_code_flag (int value, int check)
{
PRINTF_LIKE ((*as_error));
flag_code = (enum flag_code) value;
if (flag_code == CODE_64BIT)
{
@ -1937,15 +1940,31 @@ set_code_flag (int value)
}
if (value == CODE_64BIT && !cpu_arch_flags.bitfield.cpulm )
{
as_bad (_("64bit mode not supported on this CPU."));
if (check)
as_error = as_fatal;
else
as_error = as_bad;
(*as_error) (_("64bit mode not supported on `%s'."),
cpu_arch_name ? cpu_arch_name : default_arch);
}
if (value == CODE_32BIT && !cpu_arch_flags.bitfield.cpui386)
{
as_bad (_("32bit mode not supported on this CPU."));
if (check)
as_error = as_fatal;
else
as_error = as_bad;
(*as_error) (_("32bit mode not supported on `%s'."),
cpu_arch_name ? cpu_arch_name : default_arch);
}
stackop_size = '\0';
}
static void
set_code_flag (int value)
{
update_code_flag (value, 0);
}
static void
set_16bit_gcc_code_flag (int new_code_flag)
{
@ -8437,9 +8456,9 @@ const char *
i386_target_format (void)
{
if (!strcmp (default_arch, "x86_64"))
set_code_flag (CODE_64BIT);
update_code_flag (CODE_64BIT, 1);
else if (!strcmp (default_arch, "i386"))
set_code_flag (CODE_32BIT);
update_code_flag (CODE_32BIT, 1);
else
as_fatal (_("Unknown architecture"));