diff options
author | Jan Beulich <jbeulich@suse.com> | 2022-05-18 09:38:40 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2022-05-18 09:38:40 +0200 |
commit | 85aaf32e610e01ccde008e5bbfd6df95558dbeae (patch) | |
tree | cd31f7b28b1e7b5b7495f94a57e9f634b957dc00 /gas | |
parent | 9c70556165e97c43a2d7e829211e2c15fd7b3582 (diff) | |
download | fsf-binutils-gdb-85aaf32e610e01ccde008e5bbfd6df95558dbeae.zip fsf-binutils-gdb-85aaf32e610e01ccde008e5bbfd6df95558dbeae.tar.gz fsf-binutils-gdb-85aaf32e610e01ccde008e5bbfd6df95558dbeae.tar.bz2 |
gas: avoid octal numbers being accepted when processing .linefile
Compilers would put decimal numbers there, so I think we should treat
finding octal numbers the same as finding bignums - ignore them as
actually being comments of some very specific form.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/read.c | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/all/linefile.l | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/all/linefile.s | 3 |
3 files changed, 12 insertions, 0 deletions
@@ -2047,6 +2047,14 @@ get_linefile_number (int *flag) if (*input_line_pointer < '0' || *input_line_pointer > '9') return false; + /* Don't mistakenly interpret octal numbers as line numbers. */ + if (*input_line_pointer == '0') + { + *flag = 0; + ++input_line_pointer; + return true; + } + expression_and_evaluate (&exp); if (exp.X_op != O_constant) return false; diff --git a/gas/testsuite/gas/all/linefile.l b/gas/testsuite/gas/all/linefile.l index 7a5f700..089f328 100644 --- a/gas/testsuite/gas/all/linefile.l +++ b/gas/testsuite/gas/all/linefile.l @@ -2,4 +2,5 @@ .*linefile\.s: Assembler messages: .*linefile\.s:2: Warning: line 2 .*linefile\.s:5: Warning: line 5 +.*linefile\.s:8: Warning: line 8 #pass diff --git a/gas/testsuite/gas/all/linefile.s b/gas/testsuite/gas/all/linefile.s index 4b34fee..ac0eb3f 100644 --- a/gas/testsuite/gas/all/linefile.s +++ b/gas/testsuite/gas/all/linefile.s @@ -3,3 +3,6 @@ # 123456789123456789123456789 "LINEfile.s" .warning "line 5" + +# 0123456789 "lineFILE.s" + .warning "line 8" |