What is 'Linker created' and 'Lc','Gb','Wk' in the .map file?

Technical Note 81528

ARM, RiscV, RH850, RL78, RX, SH, STM8


8/31/2020 10:40 AM


This Technical Note applies to:

IAR Embedded Workbench

5.10 and later            
2.10 and later
1.10 and later
1.10 and later            
2.10 and later   
2.10 and later
1.10 and later                  

1. What is 'Linker created' ?


These are the extra allocations done by the IAR ILINK Linker.


This is a extract from an example linker file:

  Module             ro code   ro data   rw data
------ ------- ------- -------
Linker created 140 123 2 980
Grand Total: 76 888 3 800 5 716


The 3 different headings correspond to these addtions made by the IAR ILINK Linker:

Kind of section Section type Explanation
ro code Veneer These are "helpers" used in order to achive jumps in the whole address area, i.e. longer than +-4 MB / +-32 MB (Thumb/Arm mode).
ro data .iar.init_table The table which is used during start-up to control the initialization.
ro data Initializer bytes If any symbols placed in RAM are to be initialized manually, then are "Initialize bytes' created by the linker.
rw data
ro data

If the define block directive is combined with the parameter size in the .icf file, this will order the linker to create a block of the specified size. So when linking, each such block will be filled by the linker.

The linker directive for a block that holds a stack must use the size parameter. The whole block is marked "uninit", (as a stack is an empty when it comes to linking).

A block that is not a stack (and marked with the size parameter) can more or less filled with defined variables in the block. All unused bytes in the block become marked with "uninit".

rw data .iar.dynexit Holds the table of calls to be made at exit.

2. What is 'Lc','Gb','Wk' ?


There are four variants of properties defined in the ELF that may appear in this column:

- Lc = local.
- Gb = global.
- Wk = weak.
- ?? = unknown.


Extracts from example linker files:

Undefined_Handler     0x00000274          Code   Wk   vectortrap.o [4]

Region$$Table$$Base 0x08002d2c -- Gb - Linker created -
Region$$Table$$Limit 0x08002d50 -- Gb - Linker created -

SysTick_Config 0x08002667 0x32 Code Lc main.o [1]


All product names are trademarks or registered trademarks of their respective owners.

Related Tech Notes

© IAR Systems 1995-2020 - All rights reserved.

We use cookies on this website to provide you with a better experience. You need to accept cookies to continue using this site. Cookies