Use this panel to specify processor behavior. You can specify the file paths and define macros.
The following figure shows the Processor panel.
| 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. |