diff options
author | mengqinggang <mengqinggang@loongson.cn> | 2023-12-10 17:41:32 +0800 |
---|---|---|
committer | liuzhensong <liuzhensong@loongson.cn> | 2023-12-11 17:54:50 +0800 |
commit | 22b78fad28d54bad1d0aee2fe0acf5f3f40648f6 (patch) | |
tree | ccecf1cddfa54765ec85667753ca24c3213b96bf | |
parent | 42cb93f57d582d4ed365622c7eb970547c629176 (diff) | |
download | gdb-22b78fad28d54bad1d0aee2fe0acf5f3f40648f6.zip gdb-22b78fad28d54bad1d0aee2fe0acf5f3f40648f6.tar.gz gdb-22b78fad28d54bad1d0aee2fe0acf5f3f40648f6.tar.bz2 |
LoongArch: Add support for <b ".L1"> and <beq, $t0, $t1, ".L1">
Support symbol names enclosed in double quotation marks.
-rw-r--r-- | gas/testsuite/gas/loongarch/double_quotation_marks.d | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/loongarch/double_quotation_marks.s | 2 | ||||
-rw-r--r-- | opcodes/loongarch-coder.c | 7 |
3 files changed, 22 insertions, 0 deletions
diff --git a/gas/testsuite/gas/loongarch/double_quotation_marks.d b/gas/testsuite/gas/loongarch/double_quotation_marks.d new file mode 100644 index 0000000..a42534b --- /dev/null +++ b/gas/testsuite/gas/loongarch/double_quotation_marks.d @@ -0,0 +1,13 @@ +#as: +#objdump: -dr + +.*:[ ]+file format .* + + +Disassembly of section .text: + +.* <.text>: +[ ]+0:[ ]+50000000[ ]+b[ ]+0[ ]+# 0x0 +[ ]+0: R_LARCH_B26[ ]+.L1 +[ ]+4:[ ]+5800018d[ ]+beq[ ]+\$t0, \$t1, 0[ ]+# 0x4 +[ ]+4: R_LARCH_B16[ ]+.L1 diff --git a/gas/testsuite/gas/loongarch/double_quotation_marks.s b/gas/testsuite/gas/loongarch/double_quotation_marks.s new file mode 100644 index 0000000..f8b6307 --- /dev/null +++ b/gas/testsuite/gas/loongarch/double_quotation_marks.s @@ -0,0 +1,2 @@ +b ".L1" +beq $r12, $r13, ".L1" diff --git a/opcodes/loongarch-coder.c b/opcodes/loongarch-coder.c index a68ae1c..672a468 100644 --- a/opcodes/loongarch-coder.c +++ b/opcodes/loongarch-coder.c @@ -264,6 +264,13 @@ loongarch_split_args_by_comma (char *args, const char *arg_strs[]) else *args = '\0', arg_strs[num++] = args + 1; } + + if (*(args-1) == '"') + { + *(args-1) = '\0'; + arg_strs[num-1] = arg_strs[num-1] + 1; + } + arg_strs[num] = NULL; return num; } |