Projects
openEuler:24.03:SP1:Everything
binutils
_service:tar_scm:LoongArch-Add-support-for-b-.L...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:LoongArch-Add-support-for-b-.L1-and-beq-t0-t1-.L1.patch of Package binutils
From 114ab354c7fd16678578031340437b60e7b36e53 Mon Sep 17 00:00:00 2001 From: mengqinggang <mengqinggang@loongson.cn> Date: Sun, 10 Dec 2023 17:41:32 +0800 Subject: [PATCH 019/123] LoongArch: Add support for <b ".L1"> and <beq, $t0, $t1, ".L1"> Support symbol names enclosed in double quotation marks. --- .../gas/loongarch/double_quotation_marks.d | 13 +++++++++++++ .../gas/loongarch/double_quotation_marks.s | 2 ++ opcodes/loongarch-coder.c | 7 +++++++ 3 files changed, 22 insertions(+) create mode 100644 gas/testsuite/gas/loongarch/double_quotation_marks.d create mode 100644 gas/testsuite/gas/loongarch/double_quotation_marks.s 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 00000000..a42534b9 --- /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 00000000..f8b63074 --- /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 a68ae1c3..672a468b 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; } -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2