I currently have difficulty understanding the layout / loading concept.
Could you say whether the following instructions for using symbol tables and movement are correct?
- In the moved object file, the symbol table must contain entries for variables and functions that are accessed / called from other object files. A list of variables and functions that are not used outside the object file is optional.
- This means that if a program consists of only one object file, the symbol table can be omitted.
- In the moved object file, the movement table contains the addresses of all places of the collected code that need to be updated at boot time.
- In an object with a non-moving object, the transfer table may be omitted. However, then the object must be loaded into the address space, which is hardcoded in the instructions.
Thank you for your time!
source
share