]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb/testsuite: Add LoongArch case in my-syscalls.S
authorZewei Yang <yangzewei@loongson.cn>
Thu, 23 Oct 2025 01:45:49 +0000 (09:45 +0800)
committerTiezhu Yang <yangtiezhu@loongson.cn>
Thu, 30 Oct 2025 14:07:49 +0000 (22:07 +0800)
When running the following command on LoongArch:

  git clone git://sourceware.org/git/binutils-gdb.git gdb
  mkdir -p build && cd build && ../gdb/configure && make -j"$(nproc)"
  make check-gdb TESTS="gdb.threads/step-over-thread-exit-while-stop-all-threads.exp"

there exists the following error:

  gdb/gdb/testsuite/lib/my-syscalls.S:67:3: error: #error "Unsupported architecture"

this is because there is no SYSCALL macro for LoongArch, just add it.
With this patch, the above test passes on LoongArch.

Signed-off-by: Zewei Yang <yangzewei@loongson.cn>
Tested-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
gdb/testsuite/lib/my-syscalls.S

index c514b32d1f30635cbd2b721cbe9280c9808a7cfb..f128469b80e5e45479cd148b33c9ae78449dbabe 100644 (file)
@@ -63,6 +63,17 @@ NAME:                                ;\
 NAME ## _syscall:              ;\
        svc #0
 
+#elif defined(__loongarch64)
+
+#define SYSCALL(NAME, NR)      \
+.global NAME                   ;\
+NAME:                          ;\
+        li.w   $a7, NR         ;\
+       /* a0, a1 and a2 already contain the right arguments.  */ \
+NAME ## _syscall:              ;\
+        syscall 0              ;\
+        ret
+
 #else
 # error "Unsupported architecture"
 #endif