x86: correct "-Q" option handling
authorJan Beulich <jbeulich@suse.com>
Thu, 4 Jul 2019 08:36:41 +0000 (10:36 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 4 Jul 2019 08:36:41 +0000 (10:36 +0200)
For another patch I wanted to use a sufficiently benign option (simply
to be able to specify one, which certain test case invocations require),
and I stumbled across -Q in the --help output.  Before realizing that
this is x86-specific anyway, I've tried and and ran into a mysterious
testsuite failure, until I further realized that other than the help
text suggests the option requires an argument.  Correct the help text,
and make the implementation actually match what the comment there has
been describing (and what the help text now says).

gas/ChangeLog
gas/config/tc-i386.c

index ab00f146db5723cd3551e6225a153fd7d3daf4b8..c8eb5461431920981385b4c335456d1ce808331a 100644 (file)
@@ -1,3 +1,9 @@
+2019-07-04  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (md_parse_option): Don't blindly accept all
+       -Q options.
+       (md_show_usage): Correctly name the ignored -Q option flavors.
+
 2019-07-04  Jan Beulich  <jbeulich@suse.com>
 
        * config/obj-elf.c (obj_elf_type): Check for conflicts between
index 596dde4da24e36784173f1aa68eefa36a930734c..2e605611057b0dbd203f702dcdad106fdd12f089 100644 (file)
@@ -11141,6 +11141,8 @@ md_parse_option (int c, const char *arg)
       /* -Qy, -Qn: SVR4 arguments controlling whether a .comment section
         should be emitted or not.  FIXME: Not implemented.  */
     case 'Q':
+      if ((arg[0] != 'y' && arg[0] != 'n') || arg[1])
+       return 0;
       break;
 
       /* -V: SVR4 argument to print version ID.  */
@@ -11643,7 +11645,7 @@ md_show_usage (FILE *stream)
 {
 #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
   fprintf (stream, _("\
-  -Q                      ignored\n\
+  -Qy, -Qn                ignored\n\
   -V                      print assembler version number\n\
   -k                      ignored\n"));
 #endif