HP-UX Reference (11i v2 03/08) - 2 System Calls (vol 5)
t
ttrace(2) ttrace(2)
__ar_lc
__ar65
R/W R/W
__ar_ec
__ar66
R/W R/W
0 == syscall context, non-zero == interrup-
tion context
__reason RR
Low-order 2-bits indicate slot number.__ip R/W R/W
Current Frame Marker corresponding to
__ip
__cfm R/W R/W
May not be set if not previously set.__ed R/W Reads as 0
__cr_isr
__cr17
R
__cr_iipa
__cr22
R
On PA-RISC, the words at offset addr in the
save_state structure are returned
to the calling process. The data argument is the size of the read. The addr2 argu-
ment points to the location in the calling process’s address space where the data will
be written. The addr argument must be word-aligned and addr+data must be less
than or equal to
sizeof (save_state_t)
(see
<machine/save_state.h>
).
Note: On Itanium-based systems, only 8 and 9 byte reads and writes are currently
supported. 9 byte reads are valid only for General Register values. The NaT bit
corresponding to the general register is returned in bit 0 of the 9th byte. On PA-
RISC, only 4 and 8 bytes reads and writes are currently supported.
TT_LWP_WUREGS With this request, on Itanium-based system: data bytes of data pointed to by addr2
are written to the register specified by addr which must be a __uregs_t value as
noted above. On PA-RISC: data bytes of data pointed to by addr2 are written at
offset addr in the
save_state structure. Only these locations can be written in
this way: the general registers, most floating-point registers, a few control regis-
ters, and certain bits of the interruption processor status word.
Note: On Itanium-based system, only 8 and 9 byte writes are currently supported.
The 9th byte is used only for writes to static general registers. Bit 0 of the 9th byte
is written to the corresponding NaT bit.
On PA-RISC, only 4 and 8 bytes reads and writes are currently supported.
ERRORS
If a request fails,
ttrace returns -1 and errno is set to one of the following:
[EINVAL] request is an illegal number.
[EINVAL] A non-zero value has been passed in a parameter expecting a zero value or vice-
versa.
[EINVAL] The data argument of
TT_PROC_SETTRC or TT_PROC_ATTACH
is not
TT_VERSION.
[EINVAL] Size too large for data transfer.
[EINVAL] Invalid signal number.
[EINVAL] Misaligned request or not a word multiple (
TT_PROC_RDTEXT,
TT_PROC_RDTEXT_NOATTACH, TT_PROC_WRTEXT).
[EINVAL] Invalid signal (
TT_LWP_CONTINUE, TT_LWP_SINGLE).
[EINVAL] Invalid offset (
TT_LWP_RUREGS, TT_LWP_RUREGS_NOATTACH,
TT_LWP_WUREGS).
[EINVAL]
ptrace() and ttrace() requests are being mixed.
Section 2−−450 Hewlett-Packard Company − 13 − HP-UX 11i Version 2: August 2003