From 1ded5609983646a6dbddc25aa51f4695c3e64c2c Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 11 Jun 2010 15:07:53 +0000 Subject: [PATCH] gas/ 2010-06-11 Jan Beulich * config/tc-i386.c (md_parse_option): Ignore impossible processor types. (show_arch): New parameter 'check'. (md_show_usage): Adjust calls to show_arch(). --- gas/ChangeLog | 7 +++++++ gas/config/tc-i386.c | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 4b2a357d0b9..894b0ab3a69 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2010-06-11 Jan Beulich + + * config/tc-i386.c (md_parse_option): Ignore impossible processor + types. + (show_arch): New parameter 'check'. + (md_show_usage): Adjust calls to show_arch(). + 2010-06-10 H.J. Lu * config/tc-i386.c (update_code_flag): New. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index d62c3a1f3ed..f5c249ada48 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -8187,6 +8187,9 @@ md_parse_option (int c, char *arg) if (strcmp (arch, cpu_arch [j].name) == 0) { /* Processor. */ + if (! cpu_arch[j].flags.bitfield.cpui386) + continue; + cpu_arch_name = cpu_arch[j].name; cpu_sub_arch_name = NULL; cpu_arch_flags = cpu_arch[j].flags; @@ -8318,7 +8321,7 @@ md_parse_option (int c, char *arg) " " static void -show_arch (FILE *stream, int ext) +show_arch (FILE *stream, int ext, int check) { static char message[] = MESSAGE_TEMPLATE; char *start = message + 27; @@ -8355,6 +8358,11 @@ show_arch (FILE *stream, int ext) /* It is an processor. Skip if we show only extension. */ continue; } + else if (check && ! cpu_arch[j].flags.bitfield.cpui386) + { + /* It is an impossible processor - skip. */ + continue; + } /* Reserve 2 spaces for ", " or ",\0" */ left -= len + 2; @@ -8419,13 +8427,13 @@ md_show_usage (FILE *stream) fprintf (stream, _("\ -march=CPU[,+EXTENSION...]\n\ generate code for CPU and EXTENSION, CPU is one of:\n")); - show_arch (stream, 0); + show_arch (stream, 0, 1); fprintf (stream, _("\ EXTENSION is combination of:\n")); - show_arch (stream, 1); + show_arch (stream, 1, 0); fprintf (stream, _("\ -mtune=CPU optimize for CPU, CPU is one of:\n")); - show_arch (stream, 0); + show_arch (stream, 0, 0); fprintf (stream, _("\ -msse2avx encode SSE instructions with VEX prefix\n")); fprintf (stream, _("\ -- 2.30.2