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

a
a.out(4) a.out(4)
side effect of this fixup request, the referenced fixup is moved to the front of
the queue.
R_N0SEL Indicates that the following fixup is applied to the first of a three-instruction
sequence to access data, generated by the compilers to enable the importing of
shared library data.
R_N1SEL Uses a (N´) field selector for the next fixup request. This indicates that zero
bits are to be used for the displacement on the instruction. This fixup is used
to identify three-instruction sequences to access data (for importing shared
library data).
R_LINETAB Defines the beginning of a line table. CU is a symbol index of the symbol that
labels the beginning of the line table. SM is the offset relative to the CU sym-
bol. ES designates the version information for the current line table.
R_LINETAB_ESC
Defines an escape entry to be entered into the line table. ES designates the
escape entry entered in the table. M designates the number of
R_STATEMENT fixups to be interpreted as raw 8-bit table data.
R_LTP_OVERRIDE
Override the following fixup, which is expected to be a
R_DATA_ONE_SYMBOL fixup to copy one data word without relocation when
building a shared library. The absolute byte offset of the symbol relative to
the linkage table pointer is copied. If the linker is building a complete execut-
able, the absolute virtual address is copied.
R_COMMENT Fixup used to pass comment information from the compiler to the linker. This
fixup has a 5 byte argument that can be skipped and ignored by applications.
R_TP_OVERRIDE Override the next one of these fixups seen: R_DP_RELATIVE, R_DLT_REL,
or R_DATA_ONE_SYMBOL, to use the thread local storage offset when fixing
the instruction. This fixup is also used to catch thread local storage symbol
mismatches.
R_RESERVED Fixups in this range are reserved for internal use by the compilers and linker.
The following table shows the mnemonic fixup request type and length and parameter information for
each range of opcodes. In the parameters column, the symbol D refers to the difference between the
opcode and the beginning of the range described by that table entry; the symbols B1, B2, B3, and B4 refer
to the value of the next one, two, three, or four bytes of the fixup request, respectively.
Mnemonic Opcodes Length Parameters
R_NO_RELOCATION 0-23 1
L = (D+1) * 4
24-27 2 L = (D<<8 + B1 + 1) * 4
28-30 3 L = (D<<16 + B2 + 1) * 4
31 4 L=B3+1
R_ZEROES 32 2 L=(B1+1)*4
33 4 L=B3+1
R_UNINIT 34 2 L=(B1+1)*4
35 4 L=B3+1
R_RELOCATION 36 1 none
R_DATA_ONE_SYMBOL 37 2 S=B1
38 4 S=B3
R_DATA_PLABEL 39 2 S=B1
40 4 S=B3
R_SPACE_REF 41 1 none
R_REPEATED_INIT 42 2 L=4;M=(B1+1)*4
43 3 L=(B1+1)*4;M=(B1+1)*L
44 5 L=(B1+1)*4;M=(B3+1)*4
45 8 L=B3+1;M=B4+1
R_PCREL_CALL 48-57 2 R = rbits1(D);S=B1
58-59 3 R = rbits2(D<<8 + B1);S=B1
60-61 5 R = rbits2(D<<8 + B1);S=B3
HP-UX 11i Version 2: September 2004 12 Hewlett-Packard Company Section 413