gplink - Man Page

GNU PIC linker


gplink [options] [objects] [libraries]


The information in this man page is an extract from the full documentation of gputils and is limited to the meaning of the options.  For complete and current documentation, refer to "" located in the gputils docs directory.


gplink combines a number of object and archive files, relocates their data, and ties up their symbol references.  It outputs an executable for Microchip (TM)  PIC (TM) micro-controllers. gplink is part of gputils.  Check the gputils(1) manpage for details on other GNU PIC utilities.


-a FMT, --hex-format FMT

gplink supports inhx8m, inhx8s, inhx16, and inhx32 hex file formats.  This option controls which hex file format is used.  The default is inhx32.

-b OPT, --optimize-banksel OPT

Remove unnecessary Banksel directives. [0]

-B,  --experimental-banksel

Use experimental Banksel removal.

-c,  --object

Output an executable object.

-C,  --no-cinit-warnings

Disable this warnings of _cinit section with -O2 option: "Relocation symbol _cinit has no section."

-d,  --debug

Display debug messages.

-f VALUE, --fill VALUE

Fill unused unprotected program memory with value.  The value supercedes the linker script fill value.  The value must not be greater than 0xffff.  The value is hex.  The value may be preceeded by "0x".

-h,  --help

Show the usage message and exit.

-I DIR, --include DIR

Specify include directory.

-j,  --no-save-local

Disable the save of local registers to COD file.

-l,  --no-list

Disable list file output.

-m,  --map

Output a map file.


This option sets the MPLINK compatibility mode.

-o FILE, --output FILE

Alternate name of the output file.

-O OPT, --optimize OPT

Optimization level.  Default value is 1.

-p OPT, --optimize-pagesel OPT

Remove unnecessary Pagesel directives. [0]

-P,  --experimental-pagesel

Use experimental Pagesel removal.

-q,  --quiet

Suppress anything sent to standard output.

-r,  --use-shared

Attempt to relocate unshared data sections to shared memory if relocation fails.

-s FILE, --script FILE

Linker script.

-t SIZE, --stack SIZE

Create a stack section.

-S [0|1|2], --strict [0|1|2]

Set the strict level of the missing symbol.

0: This is the default. No message.
1: Show warning message if there is missing symbol.
2: Show error message if there is missing symbol.


If this is set, then an option may not be parameter of an another option. For example: -s --quiet

-u, --macro symbol=[value]

Add macro value for script.

-v,  --version

Show the version information and exit.

-w,  --processor-mismatch

Disable "processor mismatch" warning.

-W,  --experimental-pcallw

Remove unnecessary PCALLW stubs created by SDCC.

See Also



Craig Franklin <>

Referenced By


2022-01-30 gputils-1.5.2 Linux user's manual