SLAU131V October 2004 – February 2020
The --mapfile_contents option assists with managing the content of linker-generated map files. The syntax for the --mapfile_contents option is:
--mapfile_contents=filter[, filter]
When the --map_file option is specified, the linker produces a map file containing information about memory usage, placement information about sections that were created during a link, details about linker-generated copy tables, and symbol values.
The --mapfile_contents option provides a mechanism for you to control what information is included in or excluded from a map file. When you specify --mapfile_contents=help from the command line, a help screen listing available filter options is displayed. The following filter options are available:
Attribute | Description | Default State |
---|---|---|
crctables | CRC tables | On |
copytables | Copy tables | On |
entry | Entry point | On |
load_addr | Display load addresses | Off |
memory | Memory ranges | On |
modules | Module view | On |
sections | Sections | On |
sym_defs | Defined symbols per file | Off |
sym_dp | Symbols sorted by data page | On |
sym_name | Symbols sorted by name | On |
sym_runaddr | Symbols sorted by run address | On |
all | Enables all attributes | |
none | Disables all attributes |
The --mapfile_contents option controls display filter settings by specifying a comma-delimited list of display attributes. When prefixed with the word no, an attribute is disabled instead of enabled. For example:
--mapfile_contents=copytables,noentry
--mapfile_contents=all,nocopytables
--mapfile_contents=none,entry
By default, those sections that are currently included in the map file when the --map_file option is specified are included. The filters specified in the --mapfile_contents options are processed in the order that they appear in the command line. In the third example above, the first filter, none, clears all map file content. The second filter, entry, then enables information about entry points to be included in the generated map file. That is, when --mapfile_contents=none,entry is specified, the map file contains only information about entry points.
The load_addr and sym_defs attributes are both disabled by default.
If you turn on the load_addr filter, the map file includes the load address of symbols that are included in the symbol list in addition to the run address (if the load address is different from the run address).
You can use the sym_defs filter to include information sorted on a file by file basis. You may find it useful to replace the sym_name, sym_dp, and sym_runaddr sections of the map file with the sym_defs section by specifying the following --mapfile_contents option:
--mapfile_contents=nosym_name,nosym_dp,nosym_runaddr,sym_defs
By default, information about global symbols defined in an application are included in tables sorted by name, data page, and run address. If you use the --mapfile_contents=sym_defs option, static variables are also listed.