5.1. Symbol definition files

A symbol definition file (or symdefs file) is an optional output file from a static linker that lists the memory addresses of symbols for the generated image. This can then be used as an input to a later link step. The static linker can resolve references to symbols contained in the symbol definition file using the address provided in the symbol definition file.

A symbol definition file allows an application to be split into a number of separate pieces but still permits function calls and data accesses between them. For example, an application could be broken into a core application and a number of modules. Each module could be created separately and then the symbol definition file can be used when linking the core application. Alternatively, the symdefs file of the core application can be used when developing the modules. In effect the symdefs file contains the addresses of entry points of the core application.

Because symdefs files contain the addresses of symbols, they must be used with caution. Users must ensure that any symdefs file used is correct and corresponds exactly with the binary files that are to be used on the target hardware. If there are any mismatches between the symdefs file and binaries on the target hardware, it is likely to result in a link-time error or run-time failure.

Copyright © 2010 ARM. All rights reserved.ARM DAI 0242A