gdb: syscalls: Add loongarch-linux.xml.in

There is no syscall.tbl for LoongArch because it uses generic syscalls,
so it can not generate loongarch-linux.xml.in automatically through the
script update-linux-from-src.sh, make use of the script update-linux.sh
to generate loongarch-linux.xml.in.

Like this:

  $ git clone https://sourceware.org/git/binutils-gdb.git gdb.git
  $ cd gdb.git/gdb/syscalls/
  $ touch loongarch-linux.xml.in
  $ ./update-linux.sh loongarch-linux.xml.in

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

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Approved-By: John Baldwin <jhb@FreeBSD.org>
1 file changed