Considerations when working with library files
There are some considerations you must be aware of when working with library files.
Be aware of the following:
A library differs from a shared object or dynamically linked library (DLL) in that:
- Symbols are imported from a shared object or DLL.
- Code or data for symbols is extracted from an archive into the file being linked.
Linking with an object library file might not produce the same results as linking with all the object files collected into the object library file. This is because the linker processes the input list and libraries differently:
- Each object file in the input list appears in the output
unconditionally, although unused areas are eliminated if the armlink
--removeoption is specified.
- A member of a library file is only included in the output if it is referred to by an object file or a previously processed library file.
The linker recognizes a collection of ELF files stored in an
arformat file as a library. The contents of each ELF file form a single member in the library.
- Each object file in the input list appears in the output unconditionally, although unused areas are eliminated if the armlink