binutils-gdb/gdb/syscalls/aarch64-linux.xml

272 lines
11 KiB
XML
Raw Normal View History

Support catch syscall on aarch64 linux Hi, This patch is to support catch syscall on aarch64 linux. We implement gdbarch method get_syscall_number for aarch64-linux, and add aarch64-linux.xml file, which looks straightforward, however the changes to test case doesn't. First of all, we enable catch-syscall.exp on aarch64-linux target, but skip the multi_arch testing on current stage. I plan to touch multi arch debugging on aarch64-linux later. Then, when I run catch-syscall.exp on aarch64-linux, gcc errors that SYS_pipe isn't defined. We find that aarch64 kernel only has pipe2 syscall and libc already convert pipe to pipe2. As a result, I change catch-syscall.c to use SYS_pipe if it is defined, otherwise use SYS_pipe2 instead. The vector all_syscalls in catch-syscall.exp can't be pre-determined, so I add a new proc setup_all_syscalls to fill it, according to the availability of SYS_pipe. Regression tested on {x86_64, aarch64}-linux x {native, gdbserver}. gdb: 2015-03-18 Yao Qi <yao.qi@linaro.org> PR tdep/18107 * aarch64-linux-tdep.c: Include xml-syscall.h (aarch64_linux_get_syscall_number): New function. (aarch64_linux_init_abi): Call set_gdbarch_get_syscall_number. * syscalls/aarch64-linux.xml: New file. gdb/testsuite: 2015-03-18 Yao Qi <yao.qi@linaro.org> PR tdep/18107 * gdb.base/catch-syscall.c [!SYS_pipe] (pipe2_syscall): New variable. * gdb.base/catch-syscall.exp: Don't skip it on aarch64*-*-linux* target. Remove elements in all_syscalls. (test_catch_syscall_multi_arch): Skip it on aarch64*-linux* target. (setup_all_syscalls): New proc.
2015-03-18 11:47:45 +01:00
<?xml version="1.0"?>
<!-- Copyright (C) 2015-2016 Free Software Foundation, Inc.
Support catch syscall on aarch64 linux Hi, This patch is to support catch syscall on aarch64 linux. We implement gdbarch method get_syscall_number for aarch64-linux, and add aarch64-linux.xml file, which looks straightforward, however the changes to test case doesn't. First of all, we enable catch-syscall.exp on aarch64-linux target, but skip the multi_arch testing on current stage. I plan to touch multi arch debugging on aarch64-linux later. Then, when I run catch-syscall.exp on aarch64-linux, gcc errors that SYS_pipe isn't defined. We find that aarch64 kernel only has pipe2 syscall and libc already convert pipe to pipe2. As a result, I change catch-syscall.c to use SYS_pipe if it is defined, otherwise use SYS_pipe2 instead. The vector all_syscalls in catch-syscall.exp can't be pre-determined, so I add a new proc setup_all_syscalls to fill it, according to the availability of SYS_pipe. Regression tested on {x86_64, aarch64}-linux x {native, gdbserver}. gdb: 2015-03-18 Yao Qi <yao.qi@linaro.org> PR tdep/18107 * aarch64-linux-tdep.c: Include xml-syscall.h (aarch64_linux_get_syscall_number): New function. (aarch64_linux_init_abi): Call set_gdbarch_get_syscall_number. * syscalls/aarch64-linux.xml: New file. gdb/testsuite: 2015-03-18 Yao Qi <yao.qi@linaro.org> PR tdep/18107 * gdb.base/catch-syscall.c [!SYS_pipe] (pipe2_syscall): New variable. * gdb.base/catch-syscall.exp: Don't skip it on aarch64*-*-linux* target. Remove elements in all_syscalls. (test_catch_syscall_multi_arch): Skip it on aarch64*-linux* target. (setup_all_syscalls): New proc.
2015-03-18 11:47:45 +01:00
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty. -->
<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
<syscalls_info>
<syscall name="io_setup" number="0"/>
<syscall name="io_destroy" number="1"/>
<syscall name="io_submit" number="2"/>
<syscall name="io_cancel" number="3"/>
<syscall name="io_getevents" number="4"/>
<syscall name="setxattr" number="5"/>
<syscall name="lsetxattr" number="6"/>
<syscall name="fsetxattr" number="7"/>
<syscall name="getxattr" number="8"/>
<syscall name="lgetxattr" number="9"/>
<syscall name="fgetxattr" number="10"/>
<syscall name="listxattr" number="11"/>
<syscall name="llistxattr" number="12"/>
<syscall name="flistxattr" number="13"/>
<syscall name="removexattr" number="14"/>
<syscall name="lremovexattr" number="15"/>
<syscall name="fremovexattr" number="16"/>
<syscall name="getcwd" number="17"/>
<syscall name="lookup_dcookie" number="18"/>
<syscall name="eventfd2" number="19"/>
<syscall name="epoll_create1" number="20"/>
<syscall name="epoll_ctl" number="21"/>
<syscall name="epoll_pwait" number="22"/>
<syscall name="dup" number="23"/>
<syscall name="dup3" number="24"/>
<syscall name="fcntl" number="25"/>
<syscall name="inotify_init1" number="26"/>
<syscall name="inotify_add_watch" number="27"/>
<syscall name="inotify_rm_watch" number="28"/>
<syscall name="ioctl" number="29"/>
<syscall name="ioprio_set" number="30"/>
<syscall name="ioprio_get" number="31"/>
<syscall name="flock" number="32"/>
<syscall name="mknodat" number="33"/>
<syscall name="mkdirat" number="34"/>
<syscall name="unlinkat" number="35"/>
<syscall name="symlinkat" number="36"/>
<syscall name="linkat" number="37"/>
<syscall name="renameat" number="38"/>
<syscall name="umount2" number="39"/>
<syscall name="mount" number="40"/>
<syscall name="pivot_root" number="41"/>
<syscall name="nfsservctl" number="42"/>
<syscall name="statfs" number="43"/>
<syscall name="fstatfs" number="44"/>
<syscall name="truncate" number="45"/>
<syscall name="ftruncate" number="46"/>
<syscall name="fallocate" number="47"/>
<syscall name="faccessat" number="48"/>
<syscall name="chdir" number="49"/>
<syscall name="fchdir" number="50"/>
<syscall name="chroot" number="51"/>
<syscall name="fchmod" number="52"/>
<syscall name="fchmodat" number="53"/>
<syscall name="fchownat" number="54"/>
<syscall name="fchown" number="55"/>
<syscall name="openat" number="56"/>
<syscall name="close" number="57"/>
<syscall name="vhangup" number="58"/>
<syscall name="pipe2" number="59"/>
<syscall name="quotactl" number="60"/>
<syscall name="getdents64" number="61"/>
<syscall name="lseek" number="62"/>
<syscall name="read" number="63"/>
<syscall name="write" number="64"/>
<syscall name="readv" number="65"/>
<syscall name="writev" number="66"/>
<syscall name="pread64" number="67"/>
<syscall name="pwrite64" number="68"/>
<syscall name="preadv" number="69"/>
<syscall name="pwritev" number="70"/>
<syscall name="sendfile" number="71"/>
<syscall name="pselect6" number="72"/>
<syscall name="ppoll" number="73"/>
<syscall name="signalfd4" number="74"/>
<syscall name="vmsplice" number="75"/>
<syscall name="splice" number="76"/>
<syscall name="tee" number="77"/>
<syscall name="readlinkat" number="78"/>
<syscall name="newfstatat" number="79"/>
<syscall name="fstat" number="80"/>
<syscall name="sync" number="81"/>
<syscall name="fsync" number="82"/>
<syscall name="fdatasync" number="83"/>
<syscall name="sync_file_range" number="84"/>
<syscall name="timerfd_create" number="85"/>
<syscall name="timerfd_settime" number="86"/>
<syscall name="timerfd_gettime" number="87"/>
<syscall name="utimensat" number="88"/>
<syscall name="acct" number="89"/>
<syscall name="capget" number="90"/>
<syscall name="capset" number="91"/>
<syscall name="personality" number="92"/>
<syscall name="exit" number="93"/>
<syscall name="exit_group" number="94"/>
<syscall name="waitid" number="95"/>
<syscall name="set_tid_address" number="96"/>
<syscall name="unshare" number="97"/>
<syscall name="futex" number="98"/>
<syscall name="set_robust_list" number="99"/>
<syscall name="get_robust_list" number="100"/>
<syscall name="nanosleep" number="101"/>
<syscall name="getitimer" number="102"/>
<syscall name="setitimer" number="103"/>
<syscall name="kexec_load" number="104"/>
<syscall name="init_module" number="105"/>
<syscall name="delete_module" number="106"/>
<syscall name="timer_create" number="107"/>
<syscall name="timer_gettime" number="108"/>
<syscall name="timer_getoverrun" number="109"/>
<syscall name="timer_settime" number="110"/>
<syscall name="timer_delete" number="111"/>
<syscall name="clock_settime" number="112"/>
<syscall name="clock_gettime" number="113"/>
<syscall name="clock_getres" number="114"/>
<syscall name="clock_nanosleep" number="115"/>
<syscall name="syslog" number="116"/>
<syscall name="ptrace" number="117"/>
<syscall name="sched_setparam" number="118"/>
<syscall name="sched_setscheduler" number="119"/>
<syscall name="sched_getscheduler" number="120"/>
<syscall name="sched_getparam" number="121"/>
<syscall name="sched_setaffinity" number="122"/>
<syscall name="sched_getaffinity" number="123"/>
<syscall name="sched_yield" number="124"/>
<syscall name="sched_get_priority_max" number="125"/>
<syscall name="sched_get_priority_min" number="126"/>
<syscall name="sched_rr_get_interval" number="127"/>
<syscall name="restart_syscall" number="128"/>
<syscall name="kill" number="129"/>
<syscall name="tkill" number="130"/>
<syscall name="tgkill" number="131"/>
<syscall name="sigaltstack" number="132"/>
<syscall name="rt_sigsuspend" number="133"/>
<syscall name="rt_sigaction" number="134"/>
<syscall name="rt_sigprocmask" number="135"/>
<syscall name="rt_sigpending" number="136"/>
<syscall name="rt_sigtimedwait" number="137"/>
<syscall name="rt_sigqueueinfo" number="138"/>
<syscall name="rt_sigreturn" number="139"/>
<syscall name="setpriority" number="140"/>
<syscall name="getpriority" number="141"/>
<syscall name="reboot" number="142"/>
<syscall name="setregid" number="143"/>
<syscall name="setgid" number="144"/>
<syscall name="setreuid" number="145"/>
<syscall name="setuid" number="146"/>
<syscall name="setresuid" number="147"/>
<syscall name="getresuid" number="148"/>
<syscall name="setresgid" number="149"/>
<syscall name="getresgid" number="150"/>
<syscall name="setfsuid" number="151"/>
<syscall name="setfsgid" number="152"/>
<syscall name="times" number="153"/>
<syscall name="setpgid" number="154"/>
<syscall name="getpgid" number="155"/>
<syscall name="getsid" number="156"/>
<syscall name="setsid" number="157"/>
<syscall name="getgroups" number="158"/>
<syscall name="setgroups" number="159"/>
<syscall name="uname" number="160"/>
<syscall name="sethostname" number="161"/>
<syscall name="setdomainname" number="162"/>
<syscall name="getrlimit" number="163"/>
<syscall name="setrlimit" number="164"/>
<syscall name="getrusage" number="165"/>
<syscall name="umask" number="166"/>
<syscall name="prctl" number="167"/>
<syscall name="getcpu" number="168"/>
<syscall name="gettimeofday" number="169"/>
<syscall name="settimeofday" number="170"/>
<syscall name="adjtimex" number="171"/>
<syscall name="getpid" number="172"/>
<syscall name="getppid" number="173"/>
<syscall name="getuid" number="174"/>
<syscall name="geteuid" number="175"/>
<syscall name="getgid" number="176"/>
<syscall name="getegid" number="177"/>
<syscall name="gettid" number="178"/>
<syscall name="sysinfo" number="179"/>
<syscall name="mq_open" number="180"/>
<syscall name="mq_unlink" number="181"/>
<syscall name="mq_timedsend" number="182"/>
<syscall name="mq_timedreceive" number="183"/>
<syscall name="mq_notify" number="184"/>
<syscall name="mq_getsetattr" number="185"/>
<syscall name="msgget" number="186"/>
<syscall name="msgctl" number="187"/>
<syscall name="msgrcv" number="188"/>
<syscall name="msgsnd" number="189"/>
<syscall name="semget" number="190"/>
<syscall name="semctl" number="191"/>
<syscall name="semtimedop" number="192"/>
<syscall name="semop" number="193"/>
<syscall name="shmget" number="194"/>
<syscall name="shmctl" number="195"/>
<syscall name="shmat" number="196"/>
<syscall name="shmdt" number="197"/>
<syscall name="socket" number="198"/>
<syscall name="socketpair" number="199"/>
<syscall name="bind" number="200"/>
<syscall name="listen" number="201"/>
<syscall name="accept" number="202"/>
<syscall name="connect" number="203"/>
<syscall name="getsockname" number="204"/>
<syscall name="getpeername" number="205"/>
<syscall name="sendto" number="206"/>
<syscall name="recvfrom" number="207"/>
<syscall name="setsockopt" number="208"/>
<syscall name="getsockopt" number="209"/>
<syscall name="shutdown" number="210"/>
<syscall name="sendmsg" number="211"/>
<syscall name="recvmsg" number="212"/>
<syscall name="readahead" number="213"/>
<syscall name="brk" number="214"/>
<syscall name="munmap" number="215"/>
<syscall name="mremap" number="216"/>
<syscall name="add_key" number="217"/>
<syscall name="request_key" number="218"/>
<syscall name="keyctl" number="219"/>
<syscall name="clone" number="220"/>
<syscall name="execve" number="221"/>
<syscall name="mmap" number="222"/>
<syscall name="fadvise64" number="223"/>
<syscall name="swapon" number="224"/>
<syscall name="swapoff" number="225"/>
<syscall name="mprotect" number="226"/>
<syscall name="msync" number="227"/>
<syscall name="mlock" number="228"/>
<syscall name="munlock" number="229"/>
<syscall name="mlockall" number="230"/>
<syscall name="munlockall" number="231"/>
<syscall name="mincore" number="232"/>
<syscall name="madvise" number="233"/>
<syscall name="remap_file_pages" number="234"/>
<syscall name="mbind" number="235"/>
<syscall name="get_mempolicy" number="236"/>
<syscall name="set_mempolicy" number="237"/>
<syscall name="migrate_pages" number="238"/>
<syscall name="move_pages" number="239"/>
<syscall name="rt_tgsigqueueinfo" number="240"/>
<syscall name="perf_event_open" number="241"/>
<syscall name="accept4" number="242"/>
<syscall name="recvmmsg" number="243"/>
<syscall name="arch_specific_syscall" number="244"/>
<syscall name="wait4" number="260"/>
<syscall name="prlimit64" number="261"/>
<syscall name="fanotify_init" number="262"/>
<syscall name="fanotify_mark" number="263"/>
<syscall name="name_to_handle_at" number="264"/>
<syscall name="open_by_handle_at" number="265"/>
<syscall name="clock_adjtime" number="266"/>
<syscall name="syncfs" number="267"/>
<syscall name="setns" number="268"/>
<syscall name="sendmmsg" number="269"/>
<syscall name="process_vm_readv" number="270"/>
<syscall name="process_vm_writev" number="271"/>
<syscall name="kcmp" number="272"/>
<syscall name="syscalls" number="273"/>
</syscalls_info>