diff options
author | Petr Machata <pmachata@redhat.com> | 2013-10-23 00:39:23 +0200 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2013-10-23 00:39:23 +0200 |
commit | 82f748d1bc2b95d594327ad15f3a6908070dd5c3 (patch) | |
tree | bca73acc5b6bfd5390e800d678a3868993f489ed /etc | |
parent | 71025328700158770edf84cbce64d977298b6e88 (diff) | |
download | ltrace-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.conf | 111 | ||||
-rw-r--r-- | etc/syscalls.conf | 115 |
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); |