SPRAB89A September 2011 – March 2014
Dynamic tags use file offsets (rather than virtual addresses as specified by the System V ABI) to reference dynamic information. Dynamic segments are not part of the load image of the program—that is, the PT_DYNAMIC and related sections are not contained within any PT_LOAD segment.
Table 14-5 summarizes the characteristics of the bare-metal dynamic linking model and compares the two bare-metal file types.
Characteristic | Bare-Metal Dynamic Executable | Bare-Metal Dynamic Library |
---|---|---|
ELF file type (e_type) | ET_EXEC | ET_DYN |
ELF identification (e_ident) | ELFOSABI_C6X_ELFABI | |
Dynamic sections loadable | No | |
Addressing own data | Can have .bss, .neardata, and .rodata, and access them using near DP-relative addressing | With DSBT: same as executable Without DSBT: Far (DP-relative, absolute or GOT) |
Addressing imported data | Far (DP-relative, absolute, or GOT) | |
Has PT_DYNAMIC segment | Yes | |
Has PT_INTERP | No | |
Can import/export symbols | Yes, with explicit directives | |
Relocatable at load time | Optionally | Yes |
Entry Point | Mandatory | Option |