The format of a relocation directory ("RLD") data item is shown in Table 1. Note that a relocation directory data item can be from 8 to 28 bytes long, depending on which fields are present. The presence or absence of each field is determined by the "Flags" field. Offsets shown assume all fields are present.
Field | Offset | Type | Description |
---|---|---|---|
Flags | 0-5 | Byte(6) | Flags describing this RLD item. The flags are shown in Table 1. |
6-7 | Byte(2) | Reserved. | |
R Pointer | 8-11 | Binary(4) | ESDID of the ESD entry (ED or ER) which will be
used as the basis for relocation.
|
P Pointer | 12-15 | Binary(4) | ESDID of the element within which this address constant resides. |
Offset | 16-19 | Binary(4) | Offset within the element described by the P pointer
where the adcon is located; the place where the address constant can
be found; the position of the field to be updated or relocated. This
field is called the fixup target, relocation target, or simply target. Note: The constant part of a translator's address expression is
stored in the "Target Field" (at this offset, in the element
defined by the P pointer). It can contain a constant, an offset, or
be ignored ("not fetched").
|
20-23 | Binary(4) | Reserved. | |
24-27 | Binary(4) | Reserved. |
Note that RLD records will normally be smaller if the RLD data is sorted by P-pointer, because typical text elements contain more than a single adcon.