|Home > Accessing and Managing Symbols with armlink > Access symbols in another image > Symdefs file format|
A symdefs file defines symbols and their values.
The file consists of:
The identification line in a symdefs file comprises:
#<SYMDEFS>#, which must be the first 11 characters in the file for the linker to recognize it as a symdefs file.
Linker version information, in the format:
Date and time of the most recent update of the symdefs file, in the format:
day month date hh:mm:ss year
For example, for version 6.3, build 169:
#<SYMDEFS># ARM Linker, 6030169: Last Updated: Thu Jun 4 12:49:45 2015
The version and update information are not part of the identifying string.
You can insert comments manually with a text editor. Comments have the following properties:
#<SYMDEFS>#. This comment is inserted by the linker when the file is produced and must not be manually deleted.
;) or hash (
#) is a comment.
;) or hash (
#) after the first non-whitespace character does not start a comment.
The symbol information is provided on a single line, and comprises:
The linker writes the absolute address of the
symbol in fixed hexadecimal format, for example,
. If you
edit the file, you can use either hexadecimal or decimal formats for the address
A single letter to show symbol type:
A32 code (AArch32 only)
T32 code (AArch32 only)
This example shows a typical symdefs file format:
#<SYMDEFS># ARM Linker, 6030169: Last Updated:
Date;value type name, this is an added comment 0x00008000 A __main 0x00008004 A __scatterload 0x000080E0 T main 0x0000814D T _main_arg 0x0000814D T __argv_alloc 0x00008199 T __rt_get_argv … # This is also a comment, blank lines are ignored … 0x0000A4FC D __stdin 0x0000A540 D __stdout 0x0000A584 D __stderr 0xFFFFFFFD N __SIG_IGN