Skip to content

Commit

Permalink
Document Solaris kernel interfaces used. Not exhaustive list.
Browse files Browse the repository at this point in the history
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16468
  • Loading branch information
ivosh committed Aug 3, 2017
1 parent 34dd849 commit 8b872cb
Showing 1 changed file with 68 additions and 0 deletions.
68 changes: 68 additions & 0 deletions README.solaris
Expand Up @@ -142,6 +142,74 @@ TODO list
Valgrind needs to invoke a syscall on its own.


Summary of Solaris 11 Kernel Interfaces Used
--------------------------------------------
Valgrind uses directly the following kernel interfaces (not exhaustive list).
Then, of course, it has very intimate knowledge of all syscalls, many ioctls
and some door calls because it has wrappers around them.
- Syscalls:
. clock_gettime
. close
. connect
. execve
. exit
. faccessat
. fcntl
. forksys
. fstatat
. getcwd
. getdents
. geteuid
. getgid
. getgroups
. getpeername
. getpid
. getrlimit
. getsockname
. getsockopt
. gettimeofday
. kill
. lseek
. lwp_create
. lwp_exit
. lwp_self
. lwp_sigqueue
. mknodat
. mmap
. mprotect
. munmap
. openat
. pipe
. pollsys
. pread
. prgpsys
. pwrite
. read
. readlinkat
. renameat
. rt_sigprocmask
. send
. setrlimit
. setsockopt
. sigaction
. sigreturn
. sigtimedwait
. so_socket
. spawn
. uname
. unlinkat
. waitsys
. write
- Signal frames. Valgrind decomposes and synthetizes signal frames.
- Flag sc_sigblock flag in the schedctl structure by replacing
function block_all_signals() from libc. The replacement emulates lwp_sigmask
syscall. More details in coregrind/vg_preloaded.c.
- Initial stack layout for the main thread is synthetized.
- procfs agent thread and other procfs commands for manipulating the process.
- mmapobj syscall is emulated because it gets in the way of the address space
manager's control.


Contacts
--------
Please send bug reports and any questions about the port to:
Expand Down

0 comments on commit 8b872cb

Please sign in to comment.