7.8.13. KEEP

The KEEP directive instructs the assembler to retain local symbols in the symbol table in the object file.


KEEP {symbol}



is the name of the local symbol to keep. If symbol is not specified, all local symbols are kept except register-relative symbols.


By default, the only symbols that the assembler describes in its output object file are:

  • exported symbols

  • symbols that are relocated against.

Use KEEP to preserve local symbols that can be used to help debugging. Kept symbols appear in the ARM debuggers and in linker map files.

KEEP cannot preserve register-relative symbols (see MAP).


label   ADC     r2,r3,r4
        KEEP    label       ; makes label available to debuggers
        ADD     r2,r2,r5
Copyright © 2002-2010 ARM. All rights reserved.ARM DUI 0204J