ARM Compiler > Processor

Use this panel to specify processor behavior. You can specify the file paths and define macros.

The following figure shows the Processor panel.

Figure 1. Tool settings - ARM Compiler > Processor

Tool settings - ARM Compiler > Processor

The following table lists and defines each option of the Processor panel.
Table 1. Tool settings - ARM Compiler > Processor Options
Option Description
Allow Semihosting This flag defines the built-in macro, __SEMIHOSTING. This allows users to access ARM semihosting features in their application (such as console output). NOTE: The "hosted"-type runtime libraries are built with -semihosting.
Enable ARM Shared Library Architecture Support Equivalent to -ashla, this flag is not active for this product.
Pool Constants and Disable Dead-Stripping Equivalent to -constpool, this flag will combine the literal constant pools of multiple functions in a translation unit. The implication of this is that multiple functions will reside in a single ELF section, thus disabling dead-stripping by the linker (each function must reside in a unique ELF section to be dead-stripped).
Generate Code for Profiling Equivalent to -profile, this flag instruments the prologue and epilogue of functions to collect profiling data.
Position-Independent Code Check to generate position independent code (PIC) that is non relocatable.
Position-Independent Data Check to generate non-relocatable position-independent data (PID). PID is available with 16- and 32-bit addressing.
Place Read-Only Strings in .rodata Section Equivalent to -readonlystring or -rostr, this flag places constant string data in .rodata ELF sections.
Use Generic Static Symbol Names Equivalent to -generic_symbol_names, Obfuscates the names of static symbols within binaries (such as libraries) as protective measure against unauthorized persons disassembling the binary. Such a disassembly can reveal the names of static symbols and may expose internal structures and other proprietary details.The compiler replaces static symbol names with generic ones, for example "my_local" becomes "@1234". This feature only works when debugging is disabled.
Set Max Size before Spill to .sdata (bytes) Equivalent to -sdatathreshold, the Small Data text box specifies the largest size, in bytes, of items that the linker stores in small data address space ( .sdata and .sbss). For example, a value 16 in this box means that the linker will store all non-constant data items of 16 or fewer bytes in this space. The size value specifies the maximum size, in bytes, of all objects in the small data section (typically named " .sdata"). The linker places objects that are greater than this size in the data section (typically named " .data") instead. The default value for size is 8. This is a both a linker and compiler option.