Originally, on the VAX exect() enable tracing once the new executable image
was loaded. This was possible because tracing was controllable through
user space code by setting the PSL_T flag. The following instruction is a
system call that activated tracing (as all instructions do) by copying PSL_T
to PSL_TP (trace pending). The first instruction of the new executable image
would trigger a trace fault.
This is not portable to all platforms and the behavior was replaced with
ptrace(PT_TRACE_ME, ...) since FreeBSD forked off of the CSRG repository.
Platforms either incorrectly call execve(), trigger trace faults inside
the original executable, or do contain an implementation of this function.
The system call has been similarly made deprecated (NetBSD and OpenBSD)
or removed (OS X) in other platforms.