aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2022-04-16 10:46:05 -0700
committerH.J. Lu <hjl.tools@gmail.com>2022-04-19 10:35:41 -0700
commit6ea673e2d643b7b2283aa73d35b02dfc9aa7115f (patch)
treea702e60b51ff202f51e5e20a2fee00df4a629aae /gas
parent531c82a1c724079f98a4b069584681bc66da4dae (diff)
downloadgdb-6ea673e2d643b7b2283aa73d35b02dfc9aa7115f.zip
gdb-6ea673e2d643b7b2283aa73d35b02dfc9aa7115f.tar.gz
gdb-6ea673e2d643b7b2283aa73d35b02dfc9aa7115f.tar.bz2
as: Reject unknown -gXXX option
* as.c (parse_args): Reject unknown -gXXX option. * testsuite/gas/all/empty.s: New file. * testsuite/gas/all/pr29067.d: Likewise. * testsuite/gas/all/pr29067.err: Likewise. * testsuite/gas/all/gas.exp: Run pr29067.
Diffstat (limited to 'gas')
-rw-r--r--gas/as.c2
-rw-r--r--gas/testsuite/gas/all/empty.s1
-rw-r--r--gas/testsuite/gas/all/gas.exp1
-rw-r--r--gas/testsuite/gas/all/pr29067.d2
-rw-r--r--gas/testsuite/gas/all/pr29067.err2
5 files changed, 8 insertions, 0 deletions
diff --git a/gas/as.c b/gas/as.c
index f320bac..0262a6f 100644
--- a/gas/as.c
+++ b/gas/as.c
@@ -836,6 +836,8 @@ This program has absolutely no warranty.\n"));
versions/sections/options. */
if (startswith (old_argv[optind - 1], "-gdwarf"))
as_fatal (_("unknown DWARF option %s\n"), old_argv[optind - 1]);
+ else if (old_argv[optind - 1][1] == 'g' && optarg != NULL)
+ as_fatal (_("unknown option `%s'"), old_argv[optind - 1]);
if (md_debug_format_selector)
debug_type = md_debug_format_selector (& use_gnu_debug_info_extensions);
diff --git a/gas/testsuite/gas/all/empty.s b/gas/testsuite/gas/all/empty.s
new file mode 100644
index 0000000..6ac6c76
--- /dev/null
+++ b/gas/testsuite/gas/all/empty.s
@@ -0,0 +1 @@
+/* Empty input. */
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index ae7957b..db92712 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -506,3 +506,4 @@ run_dump_test "pr27384"
run_dump_test "pr27381"
run_dump_test "multibyte1"
run_dump_test "multibyte2"
+run_dump_test "pr29067"
diff --git a/gas/testsuite/gas/all/pr29067.d b/gas/testsuite/gas/all/pr29067.d
new file mode 100644
index 0000000..17a8eef
--- /dev/null
+++ b/gas/testsuite/gas/all/pr29067.d
@@ -0,0 +1,2 @@
+#as: -gsomething-not-already-a-long-option
+#error_output: pr29067.err
diff --git a/gas/testsuite/gas/all/pr29067.err b/gas/testsuite/gas/all/pr29067.err
new file mode 100644
index 0000000..e5a1b27
--- /dev/null
+++ b/gas/testsuite/gas/all/pr29067.err
@@ -0,0 +1,2 @@
+Assembler messages:
+Fatal error: unknown option `-gsomething-not-already-a-long-option'