18. Target Specific Features
18.1. Hexagon
Plugins - Information can be found at Linker Plugins
Small data
Trampolines
–disable-guard-for-weak-undef - Disable guard for weak undefined symbols
-gpsize=<value> - Set the maximum size of objects to be optimized using GP
18.2. ARM
Baremetal
Thumb
ARM
Linux
Android
Supported errata fixes -
fix_cortex_a8-fix_cortex_a53_843419enable-bss-mixing - Enable mixing of BSS and non-BSS sections
-execute-only - Mark executable sections execute-only
–disable-bss-conversion - Don’t convert BSS to NonBSS when BSS/NonBSS sections are mixed
–use-mov-veneer - Use movt/movw to load address in veneers with absolute relocation
18.3. AArch64
Baremetal
AArch64
Linux
Android
enable-bss-mixing - Enable mixing of BSS and non-BSS sections
–disable-bss-conversion - Don’t convert BSS to NonBSS when BSS/NonBSS sections are mixed
–use-mov-veneer - Use movt/movw to load address in veneers with absolute relocation
-z nognustack - Do not create a
GNU_STACKsegment
18.4. RISCV
Baremetal
Linux
-gpsize=<value> - Set the maximum size of objects to be optimized using GP
Supports relaxation -
--relax(enabled by default) --no-relaxto disable relaxationenable-bss-mixing - Enable mixing of BSS and non-BSS sections
-W[no]attribute-mix - Warn about RISC-V attributes mix instead of failing to link
–disable-bss-conversion - Don’t convert BSS to NonBSS when BSS/NonBSS sections are mixed