# Vault 7: Projects

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

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 52
- 53
- 54
- 55
- 56
…
- 365
- 366

MPLAB
®
XC16 C Compiler Users Guide
DS50002071C-page 54  2012-2013 Microchip Technology Inc.
TABLE 3-5: GENERAL CATEGORY
Option Description Command Line
Generate debugging
information
Create a COFF or ELF file with information to allow
debugging of code in MPLAB X IDE.
Note: COFF supports debugging in the .text section
only.
-g
Isolate each function in a
section
Check to place each function into its own section in the
output file. The name of the function determines the sec-
tions name in the output file.
Note: When you specify this option, the assembler and
linker may create larger object and executable files and
will also be slower.
Uncheck to place multiple functions in a section.
-ffunction-sections
Place data into its own
section
Place each data item into its own section in the output file.
The name of the data item determines the name of the
section. When you specify this option, the assembler and
linker may create larger object and executable files and
will also be slower.
-fdata-sections
Use 64-bit double Use long double instead of double type equivalent to
float. Mixing this option across modules can have unex-
pected results if modules share double data either directly
through argument passage or indirectly through shared
buffer space.
-fno-short-double
Fillupper value for data in
flash
Full upper flash memory with the value specified. -mfillupper=value
Name the text section Place text (program code) in a section named name
rather than the default .text section.
-mtext=name
TABLE 3-6: MEMORY MODEL CATEGORY
Option Description Command Line
Code Model Select a code (program memory/ROM) model.
- default -msmall-code
- large (>32Kwords) -mlarge-code
- small (32Kwords) -msmall-code
Data Model Select a data (data memory/RAM) model.
- default -msmall-data
- large (>8KB) -mlarge-data
- small (8KB) -msmall-data
Scalar Model Select a scalar model.
- default -msmall-scalar
- large (>8KB) -mlarge-scalar
- small (8KB) -msmall-scalar
Location of Constants Select a memory location for constants.
- default -mconst-in-code
- Data -mconst-in-data
- Code -mconst-in-code
Place all code in auxiliary
flash
Place all code from the current translation unit into auxil-
iary Flash. This option is only available on devices that
have auxiliary Flash.
-mauxflash

- 1
- 2
…
- 52
- 53
- 54
- 55
- 56
…
- 365
- 366