diff options
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r-- | ld/lexsup.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c index eb1fc2d..80ccc6e 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -543,14 +543,22 @@ parse_args (argc, argv) /* getopt_long_only is like getopt_long, but '-' as well as '--' can indicate a long option. */ + opterr = 0; optc = getopt_long_only (argc, argv, shortopts, longopts, &longind); - if (optc == -1) - optc = getopt_long (argc, argv, shortopts, really_longopts, &longind); - + if (optc == '?') + { + --optind; + optc = getopt_long (argc, argv, shortopts, really_longopts, &longind); + } + if (optc == -1) break; + switch (optc) { + case '?': + fprintf (stderr, _("%s: unrecognized option '%s'\n"), + program_name, argv[optind - 1]); default: fprintf (stderr, _("%s: use the --help option for usage information\n"), |