mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
gas: Handle bad -gdwarf options, just like bad --gdwarf options.
parse_args uses getopt_long_only so it can handle long options both with double and single dash. But this means that some single dash options like -gdwarf-1 don't generate an error (unlike --gdwarf-1). This is especially confusing since there is also --gdwarf2, but no --gdwarf4 (it is --gdwarf-4). When giving -gdwarf4 the option is silently interpreted as -g (which set dwarf_version to 2). This causes some confusion for people who don't expect this and suddenly get DWARF2 instead of DWARF4 as they might expect. So make it so that the -gdwarf<unknown> creates an error, just like --gdwarf<unknown> would.
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2020-08-26 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* as.c (parse_args): Handle bad -gdwarf options.
|
||||
|
||||
2020-08-28 Cooper Qu <cooper.qu@linux.alibaba.com>
|
||||
|
||||
* gas/config/tc-csky.c (md_begin): Set attributes.
|
||||
|
7
gas/as.c
7
gas/as.c
@ -816,6 +816,13 @@ This program has absolutely no warranty.\n"));
|
||||
&& md_parse_option (optc, optarg))
|
||||
continue;
|
||||
|
||||
/* We end up here for any -gsomething-not-already-a-long-option.
|
||||
give some useful feedback on not (yet) supported -gdwarfxxx
|
||||
versions/sections/options. */
|
||||
if (strncmp (old_argv[optind - 1], "-gdwarf",
|
||||
strlen ("-gdwarf")) == 0)
|
||||
as_fatal (_("unknown DWARF option %s\n"), old_argv[optind - 1]);
|
||||
|
||||
if (md_debug_format_selector)
|
||||
debug_type = md_debug_format_selector (& use_gnu_debug_info_extensions);
|
||||
else if (IS_ELF)
|
||||
|
Reference in New Issue
Block a user