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>
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