Skip to main content

IAR Embedded Workbench for Arm 9.70.x

Summary of sections and blocks

In this section:

This table lists the ELF sections and blocks that are used by the IAR build tools:

Section

Description

.bss

Holds zero-initialized static and global variables.

CSTACK

Holds the stack used by C or C++ programs.

.data

Holds static and global initialized variables.

.data_init

Holds initial values for .data sections when the linker directive initialize is used.

.dynamic

See Shared object layout.

.dynstr

See Shared object layout.

.dynsym

See Shared object layout.

.exc.text

Holds exception-related code.

.got

See Shared object layout.

.hash

See Shared object layout.

HEAP

Holds the heap used for dynamically allocated data.

__iar_tls$$DATA

Holds the TLS area for the primary thread.

__iar_tls$$INITDATA

Holds initial values for the TLS area.

.iar.dynexit

Holds the atexit table.

.iar.locale_table

Holds the locale table for the selected locales.

.init_array

Holds a table of dynamic initialization functions.

.intvec

Holds the reset vector table

IRQ_STACK

Holds the stack for interrupt requests, IRQ, and exceptions.

.noinit

Holds __no_init static and global variables.

.plt

See Shared object layout.

.preinit_array

Holds a table of dynamic initialization functions.

.prepreinit_array

Holds a table of dynamic initialization functions.

.rel.dyn

See Shared object layout.

.rel.plt

See Shared object layout.

.rodata

Holds constant data.

so_bss

See Reference information on linker blocks for shared objects.

so_code

See Reference information on linker blocks for shared objects.

so_const

See Reference information on linker blocks for shared objects.

so_data

See Reference information on linker blocks for shared objects.

.tbss

Holds thread-local zero-initialized static and global variables for the primary thread.

.tdata

Holds thread-local initialized static and global variables for the primary thread.

.text

Holds the program code.

.textrw

Holds __ramfunc declared program code.

.textrw_init

Holds initializers for the .textrw declared section.

.uninit

See Shared object layout.

Veneer$$CMSE

Holds secure gateway veneers.

Table 110. Section summary  


Other sections

In addition to the ELF sections used for your application, the tools use a number of other ELF sections for a variety of purposes:

  • Sections starting with .debug generally contain debug information in the DWARF format

  • Sections starting with .iar.debug contain supplemental debug information in an IAR format

  • The section .comment contains the tools and command lines used for building the file

  • Sections starting with .rel or .rela contain ELF relocation information

  • The section .symtab contains the symbol table for a file

  • The section .strtab contains the names of the symbol in the symbol table

  • The section .shstrtab contains the names of the sections.