aboutsummaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2013-10-23 00:39:23 +0200
committerPetr Machata <pmachata@redhat.com>2013-10-23 00:39:23 +0200
commit82f748d1bc2b95d594327ad15f3a6908070dd5c3 (patch)
treebca73acc5b6bfd5390e800d678a3868993f489ed /etc
parent71025328700158770edf84cbce64d977298b6e88 (diff)
downloadltrace-82f748d1bc2b95d594327ad15f3a6908070dd5c3.tar.gz
System calls are now part of dedicated symbol library
- This symbol library is still special in that symbols are created on demand and never actually added. It just serves as a link to protolibrary with system call prototypes, and has a name (SYS). - Prototypes for system calls were moved to a dedicated prototype library called syscalls.conf. - Because it's undesirable to look up syscall prototypes in anything but the dedicated syscall protolib, prototype.c/.h now understand that some lookups shouldn't be done recursively (and so we never pick the definition from -F file that just happens to have the same name as a system call). The good thing is that now libraries can actually use symbols named SYS_something without clashing with system call prototypes. - One test case needed to be updated, because we now display system calls as something@SYS instead of SYS_something.
Diffstat (limited to 'etc')
-rw-r--r--etc/ltrace.conf111
-rw-r--r--etc/syscalls.conf115
2 files changed, 115 insertions, 111 deletions
diff --git a/etc/ltrace.conf b/etc/ltrace.conf
index b82df19..0dc573d 100644
--- a/etc/ltrace.conf
+++ b/etc/ltrace.conf
@@ -477,114 +477,3 @@ mntent *getmntent(addr);
mntent *getmntent_r(file, +mntent*, string, int);
mntent *__getmntent_r(file, +mntent*, string, int);
string hasmntopt(mntent*, string);
-
-; SYSCALLS
-addr SYS_brk(addr);
-int SYS_close(int);
-int SYS_execve(string,addr,addr);
-void SYS_exit(int);
-void SYS_exit_group(int);
-int SYS_fork();
-int SYS_getcwd(+string2,ulong);
-int SYS_getpid();
-;addr SYS_mmap(addr,ulong,int,int,int,long);
-int SYS_munmap(addr,ulong);
-int SYS_open(string,int,octal);
-int SYS_personality(uint);
-long SYS_read(int,+string0,ulong);
-int SYS_stat(string,addr);
-octal SYS_umask(octal);
-int SYS_uname(addr);
-long SYS_write(int,string3,ulong);
-int SYS_sync();
-int SYS_setxattr(string,string,addr,uint,int);
-int SYS_lsetxattr(string,string,addr,uint,int);
-int SYS_fsetxattr(int,string,addr,uint,int);
-int SYS_getxattr(string,string,addr,uint);
-int SYS_lgetxattr(string,string,addr,uint);
-int SYS_fgetxattr(int,string,addr,uint);
-int SYS_listxattr(string,addr,uint);
-int SYS_llistxattr(string,addr,uint);
-int SYS_flistxattr(int,addr,uint);
-int SYS_removexattr(string,string);
-int SYS_lremovexattr(string,string);
-int SYS_fremovexattr(int,string);
-int SYS_chdir(string);
-int SYS_fchdir(int);
-int SYS_chmod(string,octal);
-int SYS_fchmod(int,octal);
-int SYS_chown(string,int,int);
-int SYS_fchown(int,int,int);
-int SYS_lchown(string,int,int);
-int SYS_chroot(string);
-int SYS_dup(int);
-int SYS_dup2(int,int);
-int SYS_fdatasync(int);
-int SYS_fsync(int);
-int SYS_getpriority(int,int);
-int SYS_setpriority(int,int,int);
-int SYS_getrlimit(int,addr);
-int SYS_setrlimit(int,addr);
-int SYS_gettimeofday(addr,addr);
-int SYS_settimeofday(addr,addr);
-int SYS_setfsgid(int);
-int SYS_setfsuid(int);
-int SYS_getuid();
-int SYS_setuid(int);
-int SYS_getgid();
-int SYS_setgid(int);
-int SYS_getsid(int);
-int SYS_setsid(int);
-int SYS_setreuid(int,int);
-int SYS_setregid(int,int);
-int SYS_geteuid();
-int SYS_getegid();
-int SYS_setpgid(int,int);
-int SYS_getresuid(addr,addr,addr);
-int SYS_setresuid(int,int,int);
-int SYS_getresgid(addr,addr,addr);
-int SYS_setresgid(int,int,int);
-int SYS_kill(int,int);
-int SYS_link(string,string);
-int SYS_madvise(addr,ulong,int);
-int SYS_mkdir(string,octal);
-int SYS_mknod(string,octal,int);
-int SYS_msync(addr,ulong,int);
-int SYS_nice(int);
-int SYS_poll(addr,uint,int);
-int SYS_readdir(uint,addr,uint);
-int SYS_readlink(string,string,ulong);
-int SYS_reboot(int,int,int,addr);
-int SYS_rename(string,string);
-int SYS_rmdir(string);
-int SYS_sigaltstack(addr,addr);
-int SYS_statfs(string,addr);
-int SYS_fstatfs(int,addr);
-int SYS_fstat(int,addr);
-int SYS_lstat(string,addr);
-int SYS_stime(addr);
-int SYS_symlink(string, string);
-int SYS_sysinfo(addr);
-int SYS_syslog(int,string,int);
-int SYS_truncate(string,long);
-int SYS_ftruncate(int,long);
-int SYS_mount(string,string,string,ulong,addr);
-int SYS_umount(string);
-int SYS_umount2(string,int);
-int SYS_unlink(string);
-int SYS_utime(string,addr);
-long SYS_lseek(int,long,int);
-addr SYS_signal(int,addr);
-int SYS_sigaction(int,addr,addr);
-int SYS_pause();
-int SYS_sigpending(addr);
-int SYS_sigprocmask(int,addr,addr);
-int SYS_sigqueue(int,int,addr);
-int SYS_sigsuspend(addr);
-int SYS_wait(addr);
-int SYS_waitpid(int,addr,int);
-ulong SYS_readv(int,addr,int);
-ulong SYS_writev(int,addr,int);
-int SYS_mprotect(addr,int,int);
-int SYS_access(string,octal);
-int SYS_getdents(uint, void *, uint);
diff --git a/etc/syscalls.conf b/etc/syscalls.conf
new file mode 100644
index 0000000..562f4e7
--- /dev/null
+++ b/etc/syscalls.conf
@@ -0,0 +1,115 @@
+# syscall.conf -- system call prototypes
+# See ltrace.conf(5) for description of syntax of this file.
+
+addr brk(addr);
+int close(int);
+int execve(string,addr,addr);
+void exit(int);
+void exit_group(int);
+int fork();
+int getcwd(+string2,ulong);
+int getpid();
+
+# XXX the last argument should be off_t
+addr mmap(addr,ulong,int,int,int,long);
+
+int munmap(addr,ulong);
+int open(string,int,octal);
+int personality(uint);
+long read(int,+string0,ulong);
+int stat(string,addr);
+octal umask(octal);
+int uname(addr);
+long write(int,string3,ulong);
+int sync();
+int setxattr(string,string,addr,uint,int);
+int lsetxattr(string,string,addr,uint,int);
+int fsetxattr(int,string,addr,uint,int);
+int getxattr(string,string,addr,uint);
+int lgetxattr(string,string,addr,uint);
+int fgetxattr(int,string,addr,uint);
+int listxattr(string,addr,uint);
+int llistxattr(string,addr,uint);
+int flistxattr(int,addr,uint);
+int removexattr(string,string);
+int lremovexattr(string,string);
+int fremovexattr(int,string);
+int chdir(string);
+int fchdir(int);
+int chmod(string,octal);
+int fchmod(int,octal);
+int chown(string,int,int);
+int fchown(int,int,int);
+int lchown(string,int,int);
+int chroot(string);
+int dup(int);
+int dup2(int,int);
+int fdatasync(int);
+int fsync(int);
+int getpriority(int,int);
+int setpriority(int,int,int);
+int getrlimit(int,addr);
+int setrlimit(int,addr);
+int gettimeofday(addr,addr);
+int settimeofday(addr,addr);
+int setfsgid(int);
+int setfsuid(int);
+int getuid();
+int setuid(int);
+int getgid();
+int setgid(int);
+int getsid(int);
+int setsid(int);
+int setreuid(int,int);
+int setregid(int,int);
+int geteuid();
+int getegid();
+int setpgid(int,int);
+int getresuid(addr,addr,addr);
+int setresuid(int,int,int);
+int getresgid(addr,addr,addr);
+int setresgid(int,int,int);
+int kill(int,int);
+int link(string,string);
+int madvise(addr,ulong,int);
+int mkdir(string,octal);
+int mknod(string,octal,int);
+int msync(addr,ulong,int);
+int nice(int);
+int poll(addr,uint,int);
+int readdir(uint,addr,uint);
+int readlink(string,string,ulong);
+int reboot(int,int,int,addr);
+int rename(string,string);
+int rmdir(string);
+int sigaltstack(addr,addr);
+int statfs(string,addr);
+int fstatfs(int,addr);
+int fstat(int,addr);
+int lstat(string,addr);
+int stime(addr);
+int symlink(string, string);
+int sysinfo(addr);
+int syslog(int,string,int);
+int truncate(string,long);
+int ftruncate(int,long);
+int mount(string,string,string,ulong,addr);
+int umount(string);
+int umount2(string,int);
+int unlink(string);
+int utime(string,addr);
+long lseek(int,long,int);
+addr signal(int,addr);
+int sigaction(int,addr,addr);
+int pause();
+int sigpending(addr);
+int sigprocmask(int,addr,addr);
+int sigqueue(int,int,addr);
+int sigsuspend(addr);
+int wait(addr);
+int waitpid(int,addr,int);
+ulong readv(int,addr,int);
+ulong writev(int,addr,int);
+int mprotect(addr,int,int);
+int access(string,octal);
+int getdents(uint, void *, uint);