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.
Table 1. Relocation
directory data elementField |
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. - For internal references, this will be the ED ESDID defining the
referenced element. (The offset of the referenced position within
the referenced element will have been placed by the translator in
the target text field of the address constant.)
- For external references, this will be the ER or PR ESDID describing
the referenced symbol.
|
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.