This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH]: Add sparc catch syscall support.


> Date: Wed, 24 Feb 2010 06:49:23 -0800 (PST)
> From: David Miller <davem@davemloft.net>
> 
> Ok to commit?

Looks reasonable to me.

> 2010-02-24  David S. Miller  <davem@davemloft.net>
> 
> 	* gdb_ptrace.h (PT_SYSCALL): If PTRACE_SYSCALL is available, use it.
> 	* syscalls/sparc-linux.xml: New.
> 	* syscalls/sparc64-linux.xml: New.
> 	* Makefile.in (XML_SYSCALL_FILES): Add new syscall XML files.
> 	* sparc-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC32): Define.
> 	(sparc32_linux_get_syscall_number): New function.
> 	(sparc32_linux_init_abi): Set syscall XML file name and hook up
> 	syscall number fetcher.
> 	* sparc64-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC64): Define.
> 	(sparc64_linux_get_syscall_number): New function.
> 	(sparc64_linux_init_abi): Set syscall XML file name and hook up
> 	syscall number fetcher.
> ---
>  gdb/Makefile.in                |    3 +-
>  gdb/gdb_ptrace.h               |    6 +-
>  gdb/sparc-linux-tdep.c         |   30 ++++
>  gdb/sparc64-linux-tdep.c       |   30 ++++
>  gdb/syscalls/sparc-linux.xml   |  344 ++++++++++++++++++++++++++++++++++++++++
>  gdb/syscalls/sparc64-linux.xml |  326 +++++++++++++++++++++++++++++++++++++
>  6 files changed, 737 insertions(+), 2 deletions(-)
>  create mode 100644 gdb/syscalls/sparc-linux.xml
>  create mode 100644 gdb/syscalls/sparc64-linux.xml
> 
> diff --git a/gdb/Makefile.in b/gdb/Makefile.in
> index 98f42b9..8e68bb1 100644
> --- a/gdb/Makefile.in
> +++ b/gdb/Makefile.in
> @@ -845,7 +845,8 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
>  XML_SYSCALLS_DIR = syscalls/
>  XML_SYSCALLS_FILES = gdb-syscalls.dtd \
>  		     ppc-linux.xml ppc64-linux.xml \
> -		     i386-linux.xml amd64-linux.xml
> +		     i386-linux.xml amd64-linux.xml \
> +		     sparc-linux.xml sparc64-linux.xml
>  
>  TSOBS = inflow.o
>  
> diff --git a/gdb/gdb_ptrace.h b/gdb/gdb_ptrace.h
> index 71b448f..8ee8c4e 100644
> --- a/gdb/gdb_ptrace.h
> +++ b/gdb/gdb_ptrace.h
> @@ -115,7 +115,11 @@
>     and there is probably no special request that we would be required
>     to use when resuming the execution of our program.  */
>  #ifndef PT_SYSCALL
> -# define PT_SYSCALL PT_CONTINUE
> +# ifdef PTRACE_SYSCALL
> +#  define PT_SYSCALL PTRACE_SYSCALL
> +#else
> +#  define PT_SYSCALL PT_CONTINUE
> +# endif
>  #endif
>  
>  /* Some systems, in particular DEC OSF/1, Digital Unix, Compaq Tru64
> diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c
> index d65db6c..20644b4 100644
> --- a/gdb/sparc-linux-tdep.c
> +++ b/gdb/sparc-linux-tdep.c
> @@ -32,6 +32,10 @@
>  #include "symtab.h"
>  #include "trad-frame.h"
>  #include "tramp-frame.h"
> +#include "xml-syscall.h"
> +
> +/* The syscall's XML filename for sparc 32-bit.  */
> +#define XML_SYSCALL_FILENAME_SPARC32 "syscalls/sparc-linux.xml"
>  
>  #include "sparc-tdep.h"
>  
> @@ -241,6 +245,27 @@ sparc_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
>    regcache_cooked_write_unsigned (regcache, SPARC32_PSR_REGNUM, psr);
>  }
>  
> +static LONGEST
> +sparc32_linux_get_syscall_number (struct gdbarch *gdbarch,
> +				  ptid_t ptid)
> +{
> +  struct regcache *regcache = get_thread_regcache (ptid);
> +  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
> +  /* The content of a register.  */
> +  gdb_byte buf[4];
> +  /* The result.  */
> +  LONGEST ret;
> +
> +  /* Getting the system call number from the register.
> +     When dealing with the sparc architecture, this information
> +     is stored at the %g1 register.  */
> +  regcache_cooked_read (regcache, SPARC_G1_REGNUM, buf);
> +
> +  ret = extract_signed_integer (buf, 4, byte_order);
> +
> +  return ret;
> +}
> +
>  
>  
>  static void
> @@ -279,6 +304,11 @@ sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
>    dwarf2_append_unwinders (gdbarch);
>  
>    set_gdbarch_write_pc (gdbarch, sparc_linux_write_pc);
> +
> +  /* Functions for 'catch syscall'.  */
> +  set_xml_syscall_file_name (XML_SYSCALL_FILENAME_SPARC32);
> +  set_gdbarch_get_syscall_number (gdbarch,
> +                                  sparc32_linux_get_syscall_number);
>  }
>  
>  /* Provide a prototype to silence -Wmissing-prototypes.  */
> diff --git a/gdb/sparc64-linux-tdep.c b/gdb/sparc64-linux-tdep.c
> index 8b7e908..72bbb32 100644
> --- a/gdb/sparc64-linux-tdep.c
> +++ b/gdb/sparc64-linux-tdep.c
> @@ -31,6 +31,10 @@
>  #include "symtab.h"
>  #include "trad-frame.h"
>  #include "tramp-frame.h"
> +#include "xml-syscall.h"
> +
> +/* The syscall's XML filename for sparc 64-bit.  */
> +#define XML_SYSCALL_FILENAME_SPARC64 "syscalls/sparc64-linux.xml"
>  
>  #include "sparc64-tdep.h"
>  
> @@ -205,6 +209,27 @@ sparc64_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
>    regcache_cooked_write_unsigned (regcache, SPARC64_STATE_REGNUM, state);
>  }
>  
> +static LONGEST
> +sparc64_linux_get_syscall_number (struct gdbarch *gdbarch,
> +				  ptid_t ptid)
> +{
> +  struct regcache *regcache = get_thread_regcache (ptid);
> +  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
> +  /* The content of a register.  */
> +  gdb_byte buf[8];
> +  /* The result.  */
> +  LONGEST ret;
> +
> +  /* Getting the system call number from the register.
> +     When dealing with the sparc architecture, this information
> +     is stored at the %g1 register.  */
> +  regcache_cooked_read (regcache, SPARC_G1_REGNUM, buf);
> +
> +  ret = extract_signed_integer (buf, 8, byte_order);
> +
> +  return ret;
> +}
> +
>  
>  
>  static void
> @@ -244,6 +269,11 @@ sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
>    tdep->step_trap = sparc64_linux_step_trap;
>  
>    set_gdbarch_write_pc (gdbarch, sparc64_linux_write_pc);
> +
> +  /* Functions for 'catch syscall'.  */
> +  set_xml_syscall_file_name (XML_SYSCALL_FILENAME_SPARC64);
> +  set_gdbarch_get_syscall_number (gdbarch,
> +                                  sparc64_linux_get_syscall_number);
>  }
>  
>  
> diff --git a/gdb/syscalls/sparc-linux.xml b/gdb/syscalls/sparc-linux.xml
> new file mode 100644
> index 0000000..4e3bde0
> --- /dev/null
> +++ b/gdb/syscalls/sparc-linux.xml
> @@ -0,0 +1,344 @@
> +<?xml version="1.0"?>
> +<!-- Copyright (C) 2010 Free Software Foundation, Inc.
> +
> +     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.  -->
> +
> +<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
> +
> +<!-- This file was generated using the following file:
> +     
> +     /usr/src/linux/arch/sparc/include/asm/unistd.h
> +
> +     The file mentioned above belongs to the Linux Kernel.  -->
> +
> +<syscalls_info>
> +  <syscall name="restart_syscall" number="0"/>
> +  <syscall name="exit" number="1"/>
> +  <syscall name="fork" number="2"/>
> +  <syscall name="read" number="3"/>
> +  <syscall name="write" number="4"/>
> +  <syscall name="open" number="5"/>
> +  <syscall name="close" number="6"/>
> +  <syscall name="wait4" number="7"/>
> +  <syscall name="creat" number="8"/>
> +  <syscall name="link" number="9"/>
> +  <syscall name="unlink" number="10"/>
> +  <syscall name="execv" number="11"/>
> +  <syscall name="chdir" number="12"/>
> +  <syscall name="chown"	number="13"/>
> +  <syscall name="mknod" number="14"/>
> +  <syscall name="chmod" number="15"/>
> +  <syscall name="lchown" number="16"/>
> +  <syscall name="brk" number="17"/>
> +  <syscall name="perfctr" number="18"/>
> +  <syscall name="lseek" number="19"/>
> +  <syscall name="getpid" number="20"/>
> +  <syscall name="capget" number="21"/>
> +  <syscall name="capset" number="22"/>
> +  <syscall name="setuid" number="23"/>
> +  <syscall name="getuid" number="24"/>
> +  <syscall name="vmsplice" number="25"/>
> +  <syscall name="ptrace" number="26"/>
> +  <syscall name="alarm" number="27"/>
> +  <syscall name="sigaltstack" number="28"/>
> +  <syscall name="pause" number="29"/>
> +  <syscall name="utime" number="30"/>
> +  <syscall name="lchown32" number="31"/>
> +  <syscall name="fchown32" number="32"/>
> +  <syscall name="access" number="33"/>
> +  <syscall name="nice" number="34"/>
> +  <syscall name="chown32" number="35"/>
> +  <syscall name="sync" number="36"/>
> +  <syscall name="kill" number="37"/>
> +  <syscall name="stat" number="38"/>
> +  <syscall name="sendfile" number="39"/>
> +  <syscall name="lstat" number="40"/>
> +  <syscall name="dup" number="41"/>
> +  <syscall name="pipe" number="42"/>
> +  <syscall name="times" number="43"/>
> +  <syscall name="getuid32" number="44"/>
> +  <syscall name="umount2" number="45"/>
> +  <syscall name="setgid" number="46"/>
> +  <syscall name="getgid" number="47"/>
> +  <syscall name="signal" number="48"/>
> +  <syscall name="geteuid" number="49"/>
> +  <syscall name="getegid" number="50"/>
> +  <syscall name="acct" number="51"/>
> +  <syscall name="getgid32" number="53"/>
> +  <syscall name="ioctl" number="54"/>
> +  <syscall name="reboot" number="55"/>
> +  <syscall name="mmap2" number="56"/>
> +  <syscall name="symlink" number="57"/>
> +  <syscall name="readlink" number="58"/>
> +  <syscall name="execve" number="59"/>
> +  <syscall name="umask" number="60"/>
> +  <syscall name="chroot" number="61"/>
> +  <syscall name="fstat" number="62"/>
> +  <syscall name="fstat64" number="63"/>
> +  <syscall name="getpagesize" number="64"/>
> +  <syscall name="msync" number="65"/>
> +  <syscall name="vfork" number="66"/>
> +  <syscall name="pread64" number="67"/>
> +  <syscall name="pwrite64" number="68"/>
> +  <syscall name="geteuid32" number="69"/>
> +  <syscall name="getegid32" number="70"/>
> +  <syscall name="mmap" number="71"/>
> +  <syscall name="setreuid32" number="72"/>
> +  <syscall name="munmap" number="73"/>
> +  <syscall name="mprotect" number="74"/>
> +  <syscall name="madvise" number="75"/>
> +  <syscall name="vhangup" number="76"/>
> +  <syscall name="truncate64" number="77"/>
> +  <syscall name="mincore" number="78"/>
> +  <syscall name="getgroups" number="79"/>
> +  <syscall name="setgroups" number="80"/>
> +  <syscall name="getpgrp" number="81"/>
> +  <syscall name="setgroups32" number="82"/>
> +  <syscall name="setitimer" number="83"/>
> +  <syscall name="ftruncate64" number="84"/>
> +  <syscall name="swapon" number="85"/>
> +  <syscall name="getitimer" number="86"/>
> +  <syscall name="setuid32" number="87"/>
> +  <syscall name="sethostname" number="88"/>
> +  <syscall name="setgid32" number="89"/>
> +  <syscall name="dup2" number="90"/>
> +  <syscall name="setfsuid32" number="91"/>
> +  <syscall name="fcntl" number="92"/>
> +  <syscall name="select" number="93"/>
> +  <syscall name="setfsgid32" number="94"/>
> +  <syscall name="fsync" number="95"/>
> +  <syscall name="setpriority" number="96"/>
> +  <syscall name="socket" number="97"/>
> +  <syscall name="connect" number="98"/>
> +  <syscall name="accept" number="99"/>
> +  <syscall name="getpriority" number="100"/>
> +  <syscall name="rt_sigreturn" number="101"/>
> +  <syscall name="rt_sigaction" number="102"/>
> +  <syscall name="rt_sigprocmask" number="103"/>
> +  <syscall name="rt_sigpending" number="104"/>
> +  <syscall name="rt_sigtimedwait" number="105"/>
> +  <syscall name="rt_sigqueueinfo" number="106"/>
> +  <syscall name="rt_sigsuspend" number="107"/>
> +  <syscall name="setresuid32" number="108"/>
> +  <syscall name="getresuid32" number="109"/>
> +  <syscall name="setresgid32" number="110"/>
> +  <syscall name="getresgid32" number="111"/>
> +  <syscall name="setregid32" number="112"/>
> +  <syscall name="recvmsg" number="113"/>
> +  <syscall name="sendmsg" number="114"/>
> +  <syscall name="getgroups32" number="115"/>
> +  <syscall name="gettimeofday" number="116"/>
> +  <syscall name="getrusage" number="117"/>
> +  <syscall name="getsockopt" number="118"/>
> +  <syscall name="getcwd" number="119"/>
> +  <syscall name="readv" number="120"/>
> +  <syscall name="writev" number="121"/>
> +  <syscall name="settimeofday" number="122"/>
> +  <syscall name="fchown" number="123"/>
> +  <syscall name="fchmod" number="124"/>
> +  <syscall name="recvfrom" number="125"/>
> +  <syscall name="setreuid" number="126"/>
> +  <syscall name="setregid" number="127"/>
> +  <syscall name="rename" number="128"/>
> +  <syscall name="truncate" number="129"/>
> +  <syscall name="ftruncate" number="130"/>
> +  <syscall name="flock" number="131"/>
> +  <syscall name="lstat64" number="132"/>
> +  <syscall name="sendto" number="133"/>
> +  <syscall name="shutdown" number="134"/>
> +  <syscall name="socketpair" number="135"/>
> +  <syscall name="mkdir" number="136"/>
> +  <syscall name="rmdir" number="137"/>
> +  <syscall name="utimes" number="138"/>
> +  <syscall name="stat64" number="139"/>
> +  <syscall name="sendfile64" number="140"/>
> +  <syscall name="getpeername" number="141"/>
> +  <syscall name="futex" number="142"/>
> +  <syscall name="gettid" number="143"/>
> +  <syscall name="getrlimit" number="144"/>
> +  <syscall name="setrlimit" number="145"/>
> +  <syscall name="pivot_root" number="146"/>
> +  <syscall name="prctl" number="147"/>
> +  <syscall name="pciconfig_read" number="148"/>
> +  <syscall name="pciconfig_write" number="149"/>
> +  <syscall name="getsockname" number="150"/>
> +  <syscall name="inotify_init" number="151"/>
> +  <syscall name="inotify_add_watch" number="152"/>
> +  <syscall name="poll" number="153"/>
> +  <syscall name="getdents64" number="154"/>
> +  <syscall name="fcntl64" number="155"/>
> +  <syscall name="inotify_rm_watch" number="156"/>
> +  <syscall name="statfs" number="157"/>
> +  <syscall name="fstatfs" number="158"/>
> +  <syscall name="umount" number="159"/>
> +  <syscall name="sched_set_affinity" number="160"/>
> +  <syscall name="sched_get_affinity" number="161"/>
> +  <syscall name="getdomainname" number="162"/>
> +  <syscall name="setdomainname" number="163"/>
> +  <syscall name="quotactl" number="165"/>
> +  <syscall name="set_tid_address" number="166"/>
> +  <syscall name="mount" number="167"/>
> +  <syscall name="ustat" number="168"/>
> +  <syscall name="setxattr" number="169"/>
> +  <syscall name="lsetxattr" number="170"/>
> +  <syscall name="fsetxattr" number="171"/>
> +  <syscall name="getxattr" number="172"/>
> +  <syscall name="lgetxattr" number="173"/>
> +  <syscall name="getdents" number="174"/>
> +  <syscall name="setsid" number="175"/>
> +  <syscall name="fchdir" number="176"/>
> +  <syscall name="fgetxattr" number="177"/>
> +  <syscall name="listxattr" number="178"/>
> +  <syscall name="llistxattr" number="179"/>
> +  <syscall name="flistxattr" number="180"/>
> +  <syscall name="removexattr" number="181"/>
> +  <syscall name="lremovexattr" number="182"/>
> +  <syscall name="sigpending" number="183"/>
> +  <syscall name="query_module" number="184"/>
> +  <syscall name="setpgid" number="185"/>
> +  <syscall name="fremovexattr" number="186"/>
> +  <syscall name="tkill" number="187"/>
> +  <syscall name="exit_group" number="188"/>
> +  <syscall name="uname" number="189"/>
> +  <syscall name="init_module" number="190"/>
> +  <syscall name="personality" number="191"/>
> +  <syscall name="remap_file_pages" number="192"/>
> +  <syscall name="epoll_create" number="193"/>
> +  <syscall name="epoll_ctl" number="194"/>
> +  <syscall name="epoll_wait" number="195"/>
> +  <syscall name="ioprio_set" number="196"/>
> +  <syscall name="getppid" number="197"/>
> +  <syscall name="sigaction" number="198"/>
> +  <syscall name="sgetmask" number="199"/>
> +  <syscall name="ssetmask" number="200"/>
> +  <syscall name="sigsuspend" number="201"/>
> +  <syscall name="oldlstat" number="202"/>
> +  <syscall name="uselib" number="203"/>
> +  <syscall name="readdir" number="204"/>
> +  <syscall name="readahead" number="205"/>
> +  <syscall name="socketcall" number="206"/>
> +  <syscall name="syslog" number="207"/>
> +  <syscall name="lookup_dcookie" number="208"/>
> +  <syscall name="fadvise64" number="209"/>
> +  <syscall name="fadvise64_64" number="210"/>
> +  <syscall name="tgkill" number="211"/>
> +  <syscall name="waitpid" number="212"/>
> +  <syscall name="swapoff" number="213"/>
> +  <syscall name="sysinfo" number="214"/>
> +  <syscall name="ipc" number="215"/>
> +  <syscall name="sigreturn" number="216"/>
> +  <syscall name="clone" number="217"/>
> +  <syscall name="ioprio_get" number="218"/>
> +  <syscall name="adjtimex" number="219"/>
> +  <syscall name="sigprocmask" number="220"/>
> +  <syscall name="create_module" number="221"/>
> +  <syscall name="delete_module" number="222"/>
> +  <syscall name="get_kernel_syms" number="223"/>
> +  <syscall name="getpgid" number="224"/>
> +  <syscall name="bdflush" number="225"/>
> +  <syscall name="sysfs" number="226"/>
> +  <syscall name="afs_syscall" number="227"/>
> +  <syscall name="setfsuid" number="228"/>
> +  <syscall name="setfsgid" number="229"/>
> +  <syscall name="_newselect" number="230"/>
> +  <syscall name="time" number="231"/>
> +  <syscall name="splice" number="232"/>
> +  <syscall name="stime" number="233"/>
> +  <syscall name="statfs64" number="234"/>
> +  <syscall name="fstatfs64" number="235"/>
> +  <syscall name="_llseek" number="236"/>
> +  <syscall name="mlock" number="237"/>
> +  <syscall name="munlock" number="238"/>
> +  <syscall name="mlockall" number="239"/>
> +  <syscall name="munlockall" number="240"/>
> +  <syscall name="sched_setparam" number="241"/>
> +  <syscall name="sched_getparam" number="242"/>
> +  <syscall name="sched_setscheduler" number="243"/>
> +  <syscall name="sched_getscheduler" number="244"/>
> +  <syscall name="sched_yield" number="245"/>
> +  <syscall name="sched_get_priority_max" number="246"/>
> +  <syscall name="sched_get_priority_min" number="247"/>
> +  <syscall name="sched_rr_get_interval" number="248"/>
> +  <syscall name="nanosleep" number="249"/>
> +  <syscall name="mremap" number="250"/>
> +  <syscall name="_sysctl" number="251"/>
> +  <syscall name="getsid" number="252"/>
> +  <syscall name="fdatasync" number="253"/>
> +  <syscall name="nfsservctl" number="254"/>
> +  <syscall name="sync_file_range" number="255"/>
> +  <syscall name="clock_settime" number="256"/>
> +  <syscall name="clock_gettime" number="257"/>
> +  <syscall name="clock_getres" number="258"/>
> +  <syscall name="clock_nanosleep" number="259"/>
> +  <syscall name="sched_getaffinity" number="260"/>
> +  <syscall name="sched_setaffinity" number="261"/>
> +  <syscall name="timer_settime" number="262"/>
> +  <syscall name="timer_gettime" number="263"/>
> +  <syscall name="timer_getoverrun" number="264"/>
> +  <syscall name="timer_delete" number="265"/>
> +  <syscall name="timer_create" number="266"/>
> +  <syscall name="vserver" number="267"/>
> +  <syscall name="io_setup" number="268"/>
> +  <syscall name="io_destroy" number="269"/>
> +  <syscall name="io_submit" number="270"/>
> +  <syscall name="io_cancel" number="271"/>
> +  <syscall name="io_getevents" number="272"/>
> +  <syscall name="mq_open" number="273"/>
> +  <syscall name="mq_unlink" number="274"/>
> +  <syscall name="mq_timedsend" number="275"/>
> +  <syscall name="mq_timedreceive" number="276"/>
> +  <syscall name="mq_notify" number="277"/>
> +  <syscall name="mq_getsetattr" number="278"/>
> +  <syscall name="waitid" number="279"/>
> +  <syscall name="tee" number="280"/>
> +  <syscall name="add_key" number="281"/>
> +  <syscall name="request_key" number="282"/>
> +  <syscall name="keyctl" number="283"/>
> +  <syscall name="openat" number="284"/>
> +  <syscall name="mkdirat" number="285"/>
> +  <syscall name="mknodat" number="286"/>
> +  <syscall name="fchownat" number="287"/>
> +  <syscall name="futimesat" number="288"/>
> +  <syscall name="fstatat64" number="289"/>
> +  <syscall name="unlinkat" number="290"/>
> +  <syscall name="renameat" number="291"/>
> +  <syscall name="linkat" number="292"/>
> +  <syscall name="symlinkat" number="293"/>
> +  <syscall name="readlinkat" number="294"/>
> +  <syscall name="fchmodat" number="295"/>
> +  <syscall name="faccessat" number="296"/>
> +  <syscall name="pselect6" number="297"/>
> +  <syscall name="ppoll" number="298"/>
> +  <syscall name="unshare" number="299"/>
> +  <syscall name="set_robust_list" number="300"/>
> +  <syscall name="get_robust_list" number="301"/>
> +  <syscall name="migrate_pages" number="302"/>
> +  <syscall name="mbind" number="303"/>
> +  <syscall name="get_mempolicy" number="304"/>
> +  <syscall name="set_mempolicy" number="305"/>
> +  <syscall name="kexec_load" number="306"/>
> +  <syscall name="move_pages" number="307"/>
> +  <syscall name="getcpu" number="308"/>
> +  <syscall name="epoll_pwait" number="309"/>
> +  <syscall name="utimensat" number="310"/>
> +  <syscall name="signalfd" number="311"/>
> +  <syscall name="timerfd_create" number="312"/>
> +  <syscall name="eventfd" number="313"/>
> +  <syscall name="fallocate" number="314"/>
> +  <syscall name="timerfd_settime" number="315"/>
> +  <syscall name="timerfd_gettime" number="316"/>
> +  <syscall name="signalfd4" number="317"/>
> +  <syscall name="eventfd2" number="318"/>
> +  <syscall name="epoll_create1" number="319"/>
> +  <syscall name="dup3" number="320"/>
> +  <syscall name="pipe2" number="321"/>
> +  <syscall name="inotify_init1" number="322"/>
> +  <syscall name="accept4" number="323"/>
> +  <syscall name="preadv" number="324"/>
> +  <syscall name="pwritev" number="325"/>
> +  <syscall name="rt_tgsigqueueinfo" number="326"/>
> +  <syscall name="perf_event_open" number="327"/>
> +  <syscall name="recvmmsg" number="328"/>
> +</syscalls_info>
> diff --git a/gdb/syscalls/sparc64-linux.xml b/gdb/syscalls/sparc64-linux.xml
> new file mode 100644
> index 0000000..b701883
> --- /dev/null
> +++ b/gdb/syscalls/sparc64-linux.xml
> @@ -0,0 +1,326 @@
> +<?xml version="1.0"?>
> +<!-- Copyright (C) 2010 Free Software Foundation, Inc.
> +
> +     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.  -->
> +
> +<!DOCTYPE feature SYSTEM "gdb-syscalls.dtd">
> +
> +<!-- This file was generated using the following file:
> +     
> +     /usr/src/linux/arch/sparc/include/asm/unistd.h
> +
> +     The file mentioned above belongs to the Linux Kernel.  -->
> +
> +<syscalls_info>
> +  <syscall name="restart_syscall" number="0"/>
> +  <syscall name="exit" number="1"/>
> +  <syscall name="fork" number="2"/>
> +  <syscall name="read" number="3"/>
> +  <syscall name="write" number="4"/>
> +  <syscall name="open" number="5"/>
> +  <syscall name="close" number="6"/>
> +  <syscall name="wait4" number="7"/>
> +  <syscall name="creat" number="8"/>
> +  <syscall name="link" number="9"/>
> +  <syscall name="unlink" number="10"/>
> +  <syscall name="execv" number="11"/>
> +  <syscall name="chdir" number="12"/>
> +  <syscall name="chown"	number="13"/>
> +  <syscall name="mknod" number="14"/>
> +  <syscall name="chmod" number="15"/>
> +  <syscall name="lchown" number="16"/>
> +  <syscall name="brk" number="17"/>
> +  <syscall name="perfctr" number="18"/>
> +  <syscall name="lseek" number="19"/>
> +  <syscall name="getpid" number="20"/>
> +  <syscall name="capget" number="21"/>
> +  <syscall name="capset" number="22"/>
> +  <syscall name="setuid" number="23"/>
> +  <syscall name="getuid" number="24"/>
> +  <syscall name="vmsplice" number="25"/>
> +  <syscall name="ptrace" number="26"/>
> +  <syscall name="alarm" number="27"/>
> +  <syscall name="sigaltstack" number="28"/>
> +  <syscall name="pause" number="29"/>
> +  <syscall name="utime" number="30"/>
> +  <syscall name="access" number="33"/>
> +  <syscall name="nice" number="34"/>
> +  <syscall name="sync" number="36"/>
> +  <syscall name="kill" number="37"/>
> +  <syscall name="stat" number="38"/>
> +  <syscall name="sendfile" number="39"/>
> +  <syscall name="lstat" number="40"/>
> +  <syscall name="dup" number="41"/>
> +  <syscall name="pipe" number="42"/>
> +  <syscall name="times" number="43"/>
> +  <syscall name="umount2" number="45"/>
> +  <syscall name="setgid" number="46"/>
> +  <syscall name="getgid" number="47"/>
> +  <syscall name="signal" number="48"/>
> +  <syscall name="geteuid" number="49"/>
> +  <syscall name="getegid" number="50"/>
> +  <syscall name="acct" number="51"/>
> +  <syscall name="memory_ordering" number="52"/>
> +  <syscall name="ioctl" number="54"/>
> +  <syscall name="reboot" number="55"/>
> +  <syscall name="symlink" number="57"/>
> +  <syscall name="readlink" number="58"/>
> +  <syscall name="execve" number="59"/>
> +  <syscall name="umask" number="60"/>
> +  <syscall name="chroot" number="61"/>
> +  <syscall name="fstat" number="62"/>
> +  <syscall name="fstat64" number="63"/>
> +  <syscall name="getpagesize" number="64"/>
> +  <syscall name="msync" number="65"/>
> +  <syscall name="vfork" number="66"/>
> +  <syscall name="pread64" number="67"/>
> +  <syscall name="pwrite64" number="68"/>
> +  <syscall name="mmap" number="71"/>
> +  <syscall name="munmap" number="73"/>
> +  <syscall name="mprotect" number="74"/>
> +  <syscall name="madvise" number="75"/>
> +  <syscall name="vhangup" number="76"/>
> +  <syscall name="mincore" number="78"/>
> +  <syscall name="getgroups" number="79"/>
> +  <syscall name="setgroups" number="80"/>
> +  <syscall name="getpgrp" number="81"/>
> +  <syscall name="setitimer" number="83"/>
> +  <syscall name="swapon" number="85"/>
> +  <syscall name="getitimer" number="86"/>
> +  <syscall name="sethostname" number="88"/>
> +  <syscall name="dup2" number="90"/>
> +  <syscall name="fcntl" number="92"/>
> +  <syscall name="select" number="93"/>
> +  <syscall name="fsync" number="95"/>
> +  <syscall name="setpriority" number="96"/>
> +  <syscall name="socket" number="97"/>
> +  <syscall name="connect" number="98"/>
> +  <syscall name="accept" number="99"/>
> +  <syscall name="getpriority" number="100"/>
> +  <syscall name="rt_sigreturn" number="101"/>
> +  <syscall name="rt_sigaction" number="102"/>
> +  <syscall name="rt_sigprocmask" number="103"/>
> +  <syscall name="rt_sigpending" number="104"/>
> +  <syscall name="rt_sigtimedwait" number="105"/>
> +  <syscall name="rt_sigqueueinfo" number="106"/>
> +  <syscall name="rt_sigsuspend" number="107"/>
> +  <syscall name="setresuid" number="108"/>
> +  <syscall name="getresuid" number="109"/>
> +  <syscall name="setresgid" number="110"/>
> +  <syscall name="getresgid" number="111"/>
> +  <syscall name="recvmsg" number="113"/>
> +  <syscall name="sendmsg" number="114"/>
> +  <syscall name="gettimeofday" number="116"/>
> +  <syscall name="getrusage" number="117"/>
> +  <syscall name="getsockopt" number="118"/>
> +  <syscall name="getcwd" number="119"/>
> +  <syscall name="readv" number="120"/>
> +  <syscall name="writev" number="121"/>
> +  <syscall name="settimeofday" number="122"/>
> +  <syscall name="fchown" number="123"/>
> +  <syscall name="fchmod" number="124"/>
> +  <syscall name="recvfrom" number="125"/>
> +  <syscall name="setreuid" number="126"/>
> +  <syscall name="setregid" number="127"/>
> +  <syscall name="rename" number="128"/>
> +  <syscall name="truncate" number="129"/>
> +  <syscall name="ftruncate" number="130"/>
> +  <syscall name="flock" number="131"/>
> +  <syscall name="lstat64" number="132"/>
> +  <syscall name="sendto" number="133"/>
> +  <syscall name="shutdown" number="134"/>
> +  <syscall name="socketpair" number="135"/>
> +  <syscall name="mkdir" number="136"/>
> +  <syscall name="rmdir" number="137"/>
> +  <syscall name="utimes" number="138"/>
> +  <syscall name="stat64" number="139"/>
> +  <syscall name="sendfile64" number="140"/>
> +  <syscall name="getpeername" number="141"/>
> +  <syscall name="futex" number="142"/>
> +  <syscall name="gettid" number="143"/>
> +  <syscall name="getrlimit" number="144"/>
> +  <syscall name="setrlimit" number="145"/>
> +  <syscall name="pivot_root" number="146"/>
> +  <syscall name="prctl" number="147"/>
> +  <syscall name="pciconfig_read" number="148"/>
> +  <syscall name="pciconfig_write" number="149"/>
> +  <syscall name="getsockname" number="150"/>
> +  <syscall name="inotify_init" number="151"/>
> +  <syscall name="inotify_add_watch" number="152"/>
> +  <syscall name="poll" number="153"/>
> +  <syscall name="getdents64" number="154"/>
> +  <syscall name="inotify_rm_watch" number="156"/>
> +  <syscall name="statfs" number="157"/>
> +  <syscall name="fstatfs" number="158"/>
> +  <syscall name="umount" number="159"/>
> +  <syscall name="sched_set_affinity" number="160"/>
> +  <syscall name="sched_get_affinity" number="161"/>
> +  <syscall name="getdomainname" number="162"/>
> +  <syscall name="setdomainname" number="163"/>
> +  <syscall name="utrap_install" number="164"/>
> +  <syscall name="quotactl" number="165"/>
> +  <syscall name="set_tid_address" number="166"/>
> +  <syscall name="mount" number="167"/>
> +  <syscall name="ustat" number="168"/>
> +  <syscall name="setxattr" number="169"/>
> +  <syscall name="lsetxattr" number="170"/>
> +  <syscall name="fsetxattr" number="171"/>
> +  <syscall name="getxattr" number="172"/>
> +  <syscall name="lgetxattr" number="173"/>
> +  <syscall name="getdents" number="174"/>
> +  <syscall name="setsid" number="175"/>
> +  <syscall name="fchdir" number="176"/>
> +  <syscall name="fgetxattr" number="177"/>
> +  <syscall name="listxattr" number="178"/>
> +  <syscall name="llistxattr" number="179"/>
> +  <syscall name="flistxattr" number="180"/>
> +  <syscall name="removexattr" number="181"/>
> +  <syscall name="lremovexattr" number="182"/>
> +  <syscall name="sigpending" number="183"/>
> +  <syscall name="query_module" number="184"/>
> +  <syscall name="setpgid" number="185"/>
> +  <syscall name="fremovexattr" number="186"/>
> +  <syscall name="tkill" number="187"/>
> +  <syscall name="exit_group" number="188"/>
> +  <syscall name="uname" number="189"/>
> +  <syscall name="init_module" number="190"/>
> +  <syscall name="personality" number="191"/>
> +  <syscall name="remap_file_pages" number="192"/>
> +  <syscall name="epoll_create" number="193"/>
> +  <syscall name="epoll_ctl" number="194"/>
> +  <syscall name="epoll_wait" number="195"/>
> +  <syscall name="ioprio_set" number="196"/>
> +  <syscall name="getppid" number="197"/>
> +  <syscall name="sigaction" number="198"/>
> +  <syscall name="sgetmask" number="199"/>
> +  <syscall name="ssetmask" number="200"/>
> +  <syscall name="sigsuspend" number="201"/>
> +  <syscall name="oldlstat" number="202"/>
> +  <syscall name="uselib" number="203"/>
> +  <syscall name="readdir" number="204"/>
> +  <syscall name="readahead" number="205"/>
> +  <syscall name="socketcall" number="206"/>
> +  <syscall name="syslog" number="207"/>
> +  <syscall name="lookup_dcookie" number="208"/>
> +  <syscall name="fadvise64" number="209"/>
> +  <syscall name="fadvise64_64" number="210"/>
> +  <syscall name="tgkill" number="211"/>
> +  <syscall name="waitpid" number="212"/>
> +  <syscall name="swapoff" number="213"/>
> +  <syscall name="sysinfo" number="214"/>
> +  <syscall name="ipc" number="215"/>
> +  <syscall name="sigreturn" number="216"/>
> +  <syscall name="clone" number="217"/>
> +  <syscall name="ioprio_get" number="218"/>
> +  <syscall name="adjtimex" number="219"/>
> +  <syscall name="sigprocmask" number="220"/>
> +  <syscall name="create_module" number="221"/>
> +  <syscall name="delete_module" number="222"/>
> +  <syscall name="get_kernel_syms" number="223"/>
> +  <syscall name="getpgid" number="224"/>
> +  <syscall name="bdflush" number="225"/>
> +  <syscall name="sysfs" number="226"/>
> +  <syscall name="afs_syscall" number="227"/>
> +  <syscall name="setfsuid" number="228"/>
> +  <syscall name="setfsgid" number="229"/>
> +  <syscall name="_newselect" number="230"/>
> +  <syscall name="splice" number="232"/>
> +  <syscall name="stime" number="233"/>
> +  <syscall name="statfs64" number="234"/>
> +  <syscall name="fstatfs64" number="235"/>
> +  <syscall name="_llseek" number="236"/>
> +  <syscall name="mlock" number="237"/>
> +  <syscall name="munlock" number="238"/>
> +  <syscall name="mlockall" number="239"/>
> +  <syscall name="munlockall" number="240"/>
> +  <syscall name="sched_setparam" number="241"/>
> +  <syscall name="sched_getparam" number="242"/>
> +  <syscall name="sched_setscheduler" number="243"/>
> +  <syscall name="sched_getscheduler" number="244"/>
> +  <syscall name="sched_yield" number="245"/>
> +  <syscall name="sched_get_priority_max" number="246"/>
> +  <syscall name="sched_get_priority_min" number="247"/>
> +  <syscall name="sched_rr_get_interval" number="248"/>
> +  <syscall name="nanosleep" number="249"/>
> +  <syscall name="mremap" number="250"/>
> +  <syscall name="_sysctl" number="251"/>
> +  <syscall name="getsid" number="252"/>
> +  <syscall name="fdatasync" number="253"/>
> +  <syscall name="nfsservctl" number="254"/>
> +  <syscall name="sync_file_range" number="255"/>
> +  <syscall name="clock_settime" number="256"/>
> +  <syscall name="clock_gettime" number="257"/>
> +  <syscall name="clock_getres" number="258"/>
> +  <syscall name="clock_nanosleep" number="259"/>
> +  <syscall name="sched_getaffinity" number="260"/>
> +  <syscall name="sched_setaffinity" number="261"/>
> +  <syscall name="timer_settime" number="262"/>
> +  <syscall name="timer_gettime" number="263"/>
> +  <syscall name="timer_getoverrun" number="264"/>
> +  <syscall name="timer_delete" number="265"/>
> +  <syscall name="timer_create" number="266"/>
> +  <syscall name="vserver" number="267"/>
> +  <syscall name="io_setup" number="268"/>
> +  <syscall name="io_destroy" number="269"/>
> +  <syscall name="io_submit" number="270"/>
> +  <syscall name="io_cancel" number="271"/>
> +  <syscall name="io_getevents" number="272"/>
> +  <syscall name="mq_open" number="273"/>
> +  <syscall name="mq_unlink" number="274"/>
> +  <syscall name="mq_timedsend" number="275"/>
> +  <syscall name="mq_timedreceive" number="276"/>
> +  <syscall name="mq_notify" number="277"/>
> +  <syscall name="mq_getsetattr" number="278"/>
> +  <syscall name="waitid" number="279"/>
> +  <syscall name="tee" number="280"/>
> +  <syscall name="add_key" number="281"/>
> +  <syscall name="request_key" number="282"/>
> +  <syscall name="keyctl" number="283"/>
> +  <syscall name="openat" number="284"/>
> +  <syscall name="mkdirat" number="285"/>
> +  <syscall name="mknodat" number="286"/>
> +  <syscall name="fchownat" number="287"/>
> +  <syscall name="futimesat" number="288"/>
> +  <syscall name="fstatat64" number="289"/>
> +  <syscall name="unlinkat" number="290"/>
> +  <syscall name="renameat" number="291"/>
> +  <syscall name="linkat" number="292"/>
> +  <syscall name="symlinkat" number="293"/>
> +  <syscall name="readlinkat" number="294"/>
> +  <syscall name="fchmodat" number="295"/>
> +  <syscall name="faccessat" number="296"/>
> +  <syscall name="pselect6" number="297"/>
> +  <syscall name="ppoll" number="298"/>
> +  <syscall name="unshare" number="299"/>
> +  <syscall name="set_robust_list" number="300"/>
> +  <syscall name="get_robust_list" number="301"/>
> +  <syscall name="migrate_pages" number="302"/>
> +  <syscall name="mbind" number="303"/>
> +  <syscall name="get_mempolicy" number="304"/>
> +  <syscall name="set_mempolicy" number="305"/>
> +  <syscall name="kexec_load" number="306"/>
> +  <syscall name="move_pages" number="307"/>
> +  <syscall name="getcpu" number="308"/>
> +  <syscall name="epoll_pwait" number="309"/>
> +  <syscall name="utimensat" number="310"/>
> +  <syscall name="signalfd" number="311"/>
> +  <syscall name="timerfd_create" number="312"/>
> +  <syscall name="eventfd" number="313"/>
> +  <syscall name="fallocate" number="314"/>
> +  <syscall name="timerfd_settime" number="315"/>
> +  <syscall name="timerfd_gettime" number="316"/>
> +  <syscall name="signalfd4" number="317"/>
> +  <syscall name="eventfd2" number="318"/>
> +  <syscall name="epoll_create1" number="319"/>
> +  <syscall name="dup3" number="320"/>
> +  <syscall name="pipe2" number="321"/>
> +  <syscall name="inotify_init1" number="322"/>
> +  <syscall name="accept4" number="323"/>
> +  <syscall name="preadv" number="324"/>
> +  <syscall name="pwritev" number="325"/>
> +  <syscall name="rt_tgsigqueueinfo" number="326"/>
> +  <syscall name="perf_event_open" number="327"/>
> +  <syscall name="recvmmsg" number="328"/>
> +</syscalls_info>
> -- 
> 1.6.6.1
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]