.map 파일에서의 'Linker created' 와 'Lc','Gb','Wk' 는 무엇인가요?

기술노트 81528


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




2018-02-28 오전 2:55


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                                   

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.

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.