HP-UX Reference (11i v2 04/09) - 4 File Formats (vol 8)

a
a.out(4) a.out(4)
R_DP_RELATIVE
Copy one instruction word with relocation. The word is assumed to be a dp-
relative load or store instruction (for example,
ADDIL, LDW, STW). The target
symbol is identified by symbol S. The linker forms the difference between the
value of the symbol S and the value of the symbol
$global$. By convention,
the value of
$global$ is always contained in register 27. Instructions may
have a small constant in the displacement field of the instruction.
R_DLT_REL Copy one instruction word with relocation. The word is assumed to be a
register-18-relative load or store instruction (for example,
LDW, LDO, STW).
The target symbol is identified by symbol S. The linker computes a linkage
table offset relative to register 18 (reserved for a linkage table pointer in
position-independent code) for the symbol S.
R_CODE_ONE_SYMBOL
Copy one instruction word with relocation. The word is assumed to be an
instruction referring to symbol S (for example,
LDIL
, LDW, BE). Instructions
may have a small constant in the displacement field of the instruction.
R_MILLI_REL Copy one instruction word with relocation. The word is assumed to be a short
millicode call instruction (for example,
BLE). The linker forms the difference
between the value of the target symbol S and the value of symbol 1 in the
module’s symbol table. By convention, the value of symbol 1 should have been
previously loaded into the base register used in the BLE instruction. The
instruction may have a small constant in the displacement field of the instruc-
tion.
R_CODE_PLABEL Copy one instruction word with relocation. The word is assumed to be part of
a code sequence forming a procedure label (for example, LDIL, LDO), refer-
ring to symbol S. The LDO instruction should contain the value 0 (no static
link) or 2 (static link required) in its displacement field.
R_BREAKPOINT Copy one instruction word conditionally. On HP-UX, the linker always
replaces the word with a NOP instruction.
R_ENTRY Define a procedure entry point. The stack unwind bits, U, and the frame size,
F, are recorded in a stack unwind descriptor.
R_ALT_ENTRY Define an alternate procedure entry point.
R_EXIT Define a procedure exit point.
R_BEGIN_TRY Define the beginning of a try/recover region.
R_END_TRY Define the end of a try/recover region. The offset R defines the distance in
bytes from the end of the region to the beginning of the recover block.
R_BEGIN_BRTAB Define the beginning of a branch table.
R_END_BRTAB Define the end of a branch table.
R_AUX_UNWIND Define an auxiliary unwind table. CN is a symbol index of the symbol that
labels the beginning of the compilation unit string table. SN is the offset, rela-
tive to the CN symbol, of the scope name string. SK is an integer specifying
the scope kind.
R_STATEMENT Define the beginning of statement number N.
R_SEC_STATEMENT Define the beginning of a secondary statement number N.
R_DATA_EXPR Pop one word from the expression stack and copy one data word from the
input subspace to the output subspace, adding the popped value to it.
R_CODE_EXPR Pop one word from the expression stack, and copy one instruction word from
the input subspace to the output subspace, adding the popped value to the dis-
placement field of the instruction.
R_FSEL Use an field selector for the next fixup request instead of the default
appropriate for the instruction.
R_LSEL Use an L-class field selector for the next fixup request instead of the default
appropriate for the instruction. Depending on the current rounding mode, ,
LS´, LD´, or LR´ may be used.
HP-UX 11i Version 2: September 2004 10 Hewlett-Packard Company Section 411