# Vault 7: Projects

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

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 101
- 102
- 103
- 104
- 105
…
- 365
- 366

Compiler Command-Line Driver
 2012-2013 Microchip Technology Inc. DS50002071C-page 103
5.7.9 Options for Linking
If any of the options -c, -S or -E are used, the linker is not run and object file names
should not be used as arguments. For more on available options, see the MPLAB XC16
Assembler, Linker and Utilities Users Guide (DS52106).
TABLE 5-16: LINKING OPTIONS
Option Definition
--fill=options Fill unused program memory. The format is:
--fill=[wn:]expression[@address[:end_address] |
unused]
address and end_address will specify the range of program memory
addresses to fill. If end_address is not provided then the expression
will be written to the specific memory location at address address. The
optional literal value unused may be specified to indicate that all
unused memory will be filled. If none of the location parameters are pro-
vided, all unused memory will be filled. expression will describe how
to fill the specified memory. The following options are available:
A single value
xc16-ld --fill=0x12345678@unused
Range of values
xc16-ld --fill=1,2,3,4,097@0x9d000650:0x9d000750
An incrementing value
xc16-ld --fill=7+=911@unused
By default, the linker will fill using data that is instruction-word length.
For 16-bit devices, the default fill width is 24 bits. However, you may
specify the value width using [wn:], where n is the fill value's width and
n belongs to [1, 3].
Multiple fill options may be specified on the command line; the linker will
always process fill options at specific locations first.
--gc-sections Remove dead functions from code at link time.
Support is for ELF projects only. In order to make the best use of this
feature, add the -ffunction-sections option to the compiler
command line.
-Ldir Add directory dir to the list of directories to be searched for libraries
specified by the command-line option -l.
-legacy-libc Use legacy include files and libraries (v3.24 and before).
The format of include file and libraries changed in v3.25 to match
HI-TECH C compiler format.

- 1
- 2
…
- 101
- 102
- 103
- 104
- 105
…
- 365
- 366