The segment table contains information that describes each segment in an executable file. This information includes the segment length, segment type, and segment-relocation data. The following list summarizes the values found in the segment table (the locations are relative to the beginning of each entry):
0 |
If this bit is set, the segment is a data segment. Otherwise, the segment is a code segment. |
1 |
If this bit is set, the loader has allocated memory for the segment. |
2 |
If this bit is set, the segment is loaded. |
3 |
Reserved. |
4 |
If this bit is set, the segment type is MOVEABLE. Otherwise, the segment type is FIXED. |
5 |
If this bit is set, the segment type is PURE or SHAREABLE. Otherwise, the segment type is IMPURE or NONSHAREABLE. |
6 |
If this bit is set, the segment type is PRELOAD. Otherwise, the segment type is LOADONCALL. |
7 |
If this bit is set and the segment is a code segment, the segment type is EXECUTEONLY. If this bit is set and the segment is a data segment, the segment type is READONLY. |
8 |
If this bit is set, the segment contains relocation data. |
9 |
Reserved. |
10 |
Reserved. |
11 |
Reserved. |
12 |
If this bit is set, the segment is discardable. |
13 |
Reserved. |
Location |
Description |