diff options
author | Nick Clifton <nickc@redhat.com> | 2022-08-25 11:39:50 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2022-08-25 11:39:50 +0100 |
commit | e8f20526238199c18afe163a230eafe19b51fca0 (patch) | |
tree | 5fa760d8bc29cd1e8c5fac78131ad40d89c64edf /gas | |
parent | 5a3ca6e319583a49310067a4b47d7b0dd080c2cd (diff) | |
download | gdb-e8f20526238199c18afe163a230eafe19b51fca0.zip gdb-e8f20526238199c18afe163a230eafe19b51fca0.tar.gz gdb-e8f20526238199c18afe163a230eafe19b51fca0.tar.bz2 |
GAS: Allow AArch64 pseudo-ops to accept the command line separator character.
PR 29519
* config/tc-aarch64.c (s_unreq): Use find_end_of_line().
(s_aarch64_cpu): Likewise.
(s_aarch64_arch): Likewise.
(s_aarch64_arch_extension): Likewise.
* testsuite/gas/aarch64/pr29519.d: New test driver file.
* testsuite/gas/aarch64/pr29519.s: New test source file.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 10 | ||||
-rw-r--r-- | gas/config/tc-aarch64.c | 17 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/pr29519.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/pr29519.s | 4 |
4 files changed, 30 insertions, 12 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 23c09c4..d3f52bf 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +2022-08-25 Nick Clifton <nickc@redhat.com> + + PR 29519 + * config/tc-aarch64.c (s_unreq): Use find_end_of_line(). + (s_aarch64_cpu): Likewise. + (s_aarch64_arch): Likewise. + (s_aarch64_arch_extension): Likewise. + * testsuite/gas/aarch64/pr29519.d: New test driver file. + * testsuite/gas/aarch64/pr29519.s: New test source file. + 2022-08-08 Tsukasa OI <research_trasio@irq.a4lg.com> * config/obj-macho.c (obj_mach_o_get_section_names): Wrap two diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index f023e5b..98a7ca5 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -1400,11 +1400,7 @@ s_unreq (int a ATTRIBUTE_UNUSED) char saved_char; name = input_line_pointer; - - while (*input_line_pointer != 0 - && *input_line_pointer != ' ' && *input_line_pointer != '\n') - ++input_line_pointer; - + input_line_pointer = find_end_of_line (input_line_pointer, flag_m68k_mri); saved_char = *input_line_pointer; *input_line_pointer = 0; @@ -10378,8 +10374,7 @@ s_aarch64_cpu (int ignored ATTRIBUTE_UNUSED) size_t optlen; name = input_line_pointer; - while (*input_line_pointer && !ISSPACE (*input_line_pointer)) - input_line_pointer++; + input_line_pointer = find_end_of_line (input_line_pointer, flag_m68k_mri); saved_char = *input_line_pointer; *input_line_pointer = 0; @@ -10424,8 +10419,7 @@ s_aarch64_arch (int ignored ATTRIBUTE_UNUSED) size_t optlen; name = input_line_pointer; - while (*input_line_pointer && !ISSPACE (*input_line_pointer)) - input_line_pointer++; + input_line_pointer = find_end_of_line (input_line_pointer, flag_m68k_mri); saved_char = *input_line_pointer; *input_line_pointer = 0; @@ -10464,10 +10458,9 @@ static void s_aarch64_arch_extension (int ignored ATTRIBUTE_UNUSED) { char saved_char; - char *ext = input_line_pointer;; + char *ext = input_line_pointer; - while (*input_line_pointer && !ISSPACE (*input_line_pointer)) - input_line_pointer++; + input_line_pointer = find_end_of_line (input_line_pointer, flag_m68k_mri); saved_char = *input_line_pointer; *input_line_pointer = 0; diff --git a/gas/testsuite/gas/aarch64/pr29519.d b/gas/testsuite/gas/aarch64/pr29519.d new file mode 100644 index 0000000..4bfea09 --- /dev/null +++ b/gas/testsuite/gas/aarch64/pr29519.d @@ -0,0 +1,11 @@ +# Check that AArch64 specific pseudo-ops can be separated by the ; line separator character. +#name: PR29519 (Separating AArch64 pseudo-ops with ;) +#objdump: -rd + +.*: file format .* + +Disassembly of section \.text: + +0+0 <\.text>: +.*\.word[ ]+0x0+0 +#pass diff --git a/gas/testsuite/gas/aarch64/pr29519.s b/gas/testsuite/gas/aarch64/pr29519.s new file mode 100644 index 0000000..50c477c --- /dev/null +++ b/gas/testsuite/gas/aarch64/pr29519.s @@ -0,0 +1,4 @@ +foo .req x0 ; bar .req x1 +.unreq foo ; .unreq bar +.cpu generic ; .arch armv8-a ; .arch_extension crc ; .word 0 + |