HP-UX Reference (11i v3 07/02) - 2 System Calls (vol 5)
t
ttrace(2) ttrace(2)
from addr2 will be written to the instruction or data breakpoint register(s) named by addr.
For Itanium-based systems, addr must be an even number less than the value returned by
TT_PROC_GET_NUM_IBPT_REGS
or TT_PROC_GET_NUM_DBPT_REGS
respectively.
data must be 16 bytes. The request will set a value into the pair of instruction or data
breakpoint registers addr and addr+1. These values will be enabled only when the
specified thread is running. They are identical to
TT_PROC_SET_IBPT_REGS
and
TT_PROC_SET_DBPT_REGS
respectively in other respects.
Note: The available breakpoint registers must be shared between process-wide breakpoints
and per-thread breakpoints. If a breakpoint register is currently being used as a process-
wide breakpoint within the target process, it may not be used for a per-thread breakpoint
in any thread of the target process.
Note: These requests are not supported on PA-RISC versions of HP-UX.
TT_LWP_GET_IBPT_REGS
, TT_LWP_GET_DBPT_REGS
These requests read per-thread breakpoint values from breakpoint registers. They are
identical to TT_PROC_GET_IBPT_REGS
and TT_PROC_GET_DBPT_REGS
respectively
in other respects.
Note: These requests are not supported on PA-RISC versions of HP-UX.
TT_LWP_RDRSEBS, TT_LWP_WRRSEBS
, TT_LWP_RDRSEBS_NOATTACH
These requests allow the calling process to access stacked general register values that have
not yet been written to the RSE backing store. data bytes that would have been spilled at
addr on the user’s RSE backing store, had the RSE been flushed, are copied to or from
addr2 in the calling process. The addr argument must be 8-byte-aligned and conform to
ar.bspstore ≤ addr < ar.bsp. data must be a multiple of 8 bytes, and addr+data
must also conform to
ar.bspstore ≤ addr+data < ar.bsp. As a special case, to
retrieve the final NaT collection, addr == ar.bsp | 0x1f8 and data == 8
is also
accepted.
Note: This facility should be used only to modify values of registers that were dirty when
the thread was stopped. Do not use this facility if the values of ar.bsp or ar.bspstore have
been modified.
Note: These requests are not supported on PA-RISC versions of HP-UX.
TT_LWP_RUREGS, TT_LWP_RUREGS_NOATTACH
With these requests, on Itanium-based systems the register specified by addr is returned to
the calling process making the request. The data argument is the size of the read. The
addr2 argument points to the location in the calling process’s address space where the data
will be written. The addr argument must be a value defined by __uregs_t in
<machine/sys/uregs.h>
.
The registers that may be read or written vary depending on whether the target thread is
stopped in a syscall or interruption context. Retrieve the __reason value first to determine
which applies. The following registers may be read or written in each context:
Reg Interruption Syscall Notes
__gp
__r1
R/W R/W Global Pointer
__r2-__r3 R/W Reads as 0 Scratch registers
__r4-__r7 R/W R/W
__ret0-__ret3
__r8-__r11
R/W R/W
__sp
__r12
R/W R/W
HP-UX 11i Version 3: February 2007 − 9 − Hewlett-Packard Company 505