# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 65
- 66
- 67
- 68
- 69
…
- 365
- 366

XC16 Toolchain and MPLAB IDE v8
 2012-2013 Microchip Technology Inc. DS50002071C-page 67
Optimization Category
4.5.3 Build Options Dialog, XC16 LINK Tab
A subset of command-line options may be specified in MPLAB IDE in the Build Options
dialog, XC16 LINK tab. Select a category, and then set up linker options. For additional
options, see MPLAB XC16 Object Linker documentation.
General Category
Diagnostics Category
Generate Command Line
Optimization Level Click in a circle on the chart to select an optimization level. Equiva-
lent to -O option.
Specific Optimizations Choose specific optimizations.
- Unroll loops (-funroll-loops)
- Omit frame pointer W14 (-fomit-frame-pointer)
- Procedural abstraction (-mpa)
Pre-Optimization Instruc-
tion Scheduling
Choose from default, disabled or enabled. Equivalent to
-fschedule-insns option.
Post-Optimization
Instruction Scheduling
Choose from default, disabled or enabled. Equivalent to
-fschedule-insns2 option.
Restore Defaults Restore tab default settings.
Use Alternate Settings
Text Box Enter options in a command-line (non-GUI) format.
Generate Command Line
Heap Size Specify the size of the heap in bytes. Same as --heap size
option.
Min Stack Size Specify the minimum size of the stack in bytes. Same as --stack
size option.
Symbols Specify symbol information in the output.
- Keep all
- Strip debugging info (--strip-debug (-S))
- Strip all symbol info (--strip-all (-s))
Output Specifiy output options.
Allow overlapped
sections
Do not check section addresses for overlaps. Same as
--no-check-sections option.
Dont initialize data
sections
Dont support initialized data. Same as --no-data-init option.
Dont pack data template Dont pack initial data values. Same as --no-pack-data option.
Dont create handles Dont support far code pointers. Same as --no-handles option.
Dont create default ISR Don't create an interrupt function for unused vectors. Same as
--no-isr option.
Remove unused sections Remove linker sections not used in code. Same as
--gcc-sections option.
Output Filename Root Enter a root directory for saving output files
Restore Defaults Restore tab default settings.
Use Alternate Settings
Text Box Enter options in a command-line (non-GUI) format.
Generate Command Line
Generate map file Create a map file.
Same as -Map file option.
Display memory usage Same as --report-mem option.

- 1
- 2
…
- 65
- 66
- 67
- 68
- 69
…
- 365
- 366