aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiezhu Yang <yangtiezhu@loongson.cn>2024-03-21 09:55:10 +0800
committerTiezhu Yang <yangtiezhu@loongson.cn>2024-03-21 22:07:44 +0800
commit9bec569fda7c76849cf3eb0e4a525f627d25f980 (patch)
tree6de6d47728e10869bcd285653a1a1645d1fa7267
parent006efc27dc52e4093ccee2dd5d4867c6a7f13fd6 (diff)
downloadbinutils-9bec569fda7c76849cf3eb0e4a525f627d25f980.zip
binutils-9bec569fda7c76849cf3eb0e4a525f627d25f980.tar.gz
binutils-9bec569fda7c76849cf3eb0e4a525f627d25f980.tar.bz2
gdb: syscalls: Add some tips for LoongArch xml files
In commit a08dc2aa004b (gdb: syscalls: Add loongarch-linux.xml.in), it needs special handling when generating xml file. This should at least be mentioned in the file comment rather than git log to help the next person who regenerates this file understand what needs to be done, suggested by Pedro Alves, thank you. At the beginning, I only added the tips in loongarch-linux.xml.in, after executing the command "make" to generate loongarch-linux.xml from loongarch-linux.xml.in, it generates the same tips in the file loongarch-linux.xml automatically, so update loongarch-linux.xml.in and loongarch-linux.xml together. Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> Approved-by: Pedro Alves <pedro@palves.net>
-rw-r--r--gdb/syscalls/loongarch-linux.xml24
-rw-r--r--gdb/syscalls/loongarch-linux.xml.in23
2 files changed, 45 insertions, 2 deletions
diff --git a/gdb/syscalls/loongarch-linux.xml b/gdb/syscalls/loongarch-linux.xml
index 91e7bbc..6e85dbd 100644
--- a/gdb/syscalls/loongarch-linux.xml
+++ b/gdb/syscalls/loongarch-linux.xml
@@ -9,7 +9,29 @@
<sys/syscall.h>
- The file mentioned above belongs to the Linux Kernel. -->
+ The file mentioned above belongs to the Linux Kernel.
+
+ Note that the system header file /usr/include/asm-generic/unistd.h
+ may be different with the latest upstream Linux kernel uapi header
+ file include/uapi/asm-generic/unistd.h, it is better to copy the
+ upstream header file into the system header file when generating
+ loongarch-linux.xml.in.
+
+ There exist some __NR3264_ prefixed syscall numbers, replace them
+ with digital numbers according to /usr/include/asm-generic/unistd.h
+ and sort them by syscall number manually, maybe we can modify the
+ script to do it automatically in the future.
+
+ <syscall name="fcntl" number="__NR3264_fcntl"/>
+ <syscall name="statfs" number="__NR3264_statfs"/>
+ <syscall name="fstatfs" number="__NR3264_fstatfs"/>
+ <syscall name="truncate" number="__NR3264_truncate"/>
+ <syscall name="ftruncate" number="__NR3264_ftruncate"/>
+ <syscall name="lseek" number="__NR3264_lseek"/>
+ <syscall name="sendfile" number="__NR3264_sendfile"/>
+ <syscall name="mmap" number="__NR3264_mmap"/>
+ <syscall name="fadvise64" number="__NR3264_fadvise64"/>
+-->
<syscalls_info>
<syscall name="io_setup" number="0" groups="memory"/>
<syscall name="io_destroy" number="1" groups="memory"/>
diff --git a/gdb/syscalls/loongarch-linux.xml.in b/gdb/syscalls/loongarch-linux.xml.in
index e6e17b3..cf38f31 100644
--- a/gdb/syscalls/loongarch-linux.xml.in
+++ b/gdb/syscalls/loongarch-linux.xml.in
@@ -11,8 +11,29 @@
<sys/syscall.h>
- The file mentioned above belongs to the Linux Kernel. -->
+ The file mentioned above belongs to the Linux Kernel.
+ Note that the system header file /usr/include/asm-generic/unistd.h
+ may be different with the latest upstream Linux kernel uapi header
+ file include/uapi/asm-generic/unistd.h, it is better to copy the
+ upstream header file into the system header file when generating
+ loongarch-linux.xml.in.
+
+ There exist some __NR3264_ prefixed syscall numbers, replace them
+ with digital numbers according to /usr/include/asm-generic/unistd.h
+ and sort them by syscall number manually, maybe we can modify the
+ script to do it automatically in the future.
+
+ <syscall name="fcntl" number="__NR3264_fcntl"/>
+ <syscall name="statfs" number="__NR3264_statfs"/>
+ <syscall name="fstatfs" number="__NR3264_fstatfs"/>
+ <syscall name="truncate" number="__NR3264_truncate"/>
+ <syscall name="ftruncate" number="__NR3264_ftruncate"/>
+ <syscall name="lseek" number="__NR3264_lseek"/>
+ <syscall name="sendfile" number="__NR3264_sendfile"/>
+ <syscall name="mmap" number="__NR3264_mmap"/>
+ <syscall name="fadvise64" number="__NR3264_fadvise64"/>
+-->
<syscalls_info>
<syscall name="io_setup" number="0"/>