Debugging with GDB: FreeBSD

Previous: Darwin, Up: Native [Contents][Index]

#### 21.1.7 FreeBSD

When the ABI of a system call is changed in the FreeBSD kernel, this is implemented by leaving a compatibility system call using the old ABI at the existing number and allocating a new system call number for the version using the new ABI. As a convenience, when a system call is caught by name (see catch syscall), compatibility system calls are also caught.

For example, FreeBSD 12 introduced a new variant of the `kevent` system call and catching the `kevent` system call by name catches both variants:

    (gdb) catch syscall kevent
    Catchpoint 1 (syscalls 'freebsd11_kevent' [363] 'kevent' [560])
    (gdb)