Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual
Product codes
SW006021-1
Linker
2012 Microchip Technology Inc.
DS52053B-page 283
The final link and load address of psects are shown in the map file. See
Section 7.4.2.2 “Psect Information Listed by Module”.
Section 7.4.2.2 “Psect Information Listed by Module”.
7.2.20
-Qprocessor
This option allows a device type to be specified. This is purely for information placed in
the map file. The argument to this option is a string describing the device. There are no
behavioral changes attributable to the device type.
the map file. The argument to this option is a string describing the device. There are no
behavioral changes attributable to the device type.
7.2.21
-S
This option prevents symbol information relating from being included in the symbol file
produced by the linker. Segment information is still included.
produced by the linker. Segment information is still included.
7.2.22
-Sclass
=
limit[,bound]
A class of psects may have an upper address limit associated with it. The following
example places a limit on the maximum address of the CODE class of psects to one less
than 400h.
example places a limit on the maximum address of the CODE class of psects to one less
than 400h.
-SCODE=400h
Note that to set an upper limit to a psect, this must be set in assembler code using the
psect limit flag, see Section 6.4.9.3.6 “Limit”).
psect limit flag, see Section 6.4.9.3.6 “Limit”).
If the bound (boundary) argument is used, the class of psects will start on a multiple of
the bound address. This example below places the FARCODE class of psects at a
multiple of 1000h, but with an upper address limit of 6000h.
the bound address. This example below places the FARCODE class of psects at a
multiple of 1000h, but with an upper address limit of 6000h.
-SFARCODE=6000h,1000h
7.2.23
-Usymbol
This option will enter the specified symbol into the linker’s symbol table as an undefined
symbol. This is useful for linking entirely from libraries, or for linking a module from a
library where the ordering has been arranged so that by default a later module will be
linked.
symbol. This is useful for linking entirely from libraries, or for linking a module from a
library where the ordering has been arranged so that by default a later module will be
linked.
7.2.24
-Vavmap
To produce an Avocet format symbol file, the linker needs to be given a map file to allow
it to map psect names to Avocet memory identifiers. The avmap file will normally be
supplied with the compiler, or created automatically by the compiler driver as required.
it to map psect names to Avocet memory identifiers. The avmap file will normally be
supplied with the compiler, or created automatically by the compiler driver as required.
7.2.25
-Wnum
The -W option can be used to set the warning level, in the range -9 to 9, or the width of
the map file, for values of num >= 10.
the map file, for values of num >= 10.
-W9
will suppress all warning messages. -W0 is the default. Setting the warning level
to -9 (-W-9) will give the most comprehensive warning messages.
7.2.26
-X
Local symbols can be suppressed from a symbol file with this option. Global symbols
will always appear in the symbol file.
will always appear in the symbol file.
7.2.27
-Z
Some local symbols are compiler generated and not of interest in debugging. This
option will suppress from the symbol file all local symbols that have the form of a single
alphabetic character, followed by a digit string. The set of letters that can start a trivial
symbol is currently “klfLSu“. The -Z option will strip any local symbols starting with
one of these letters, and followed by a digit string.
option will suppress from the symbol file all local symbols that have the form of a single
alphabetic character, followed by a digit string. The set of letters that can start a trivial
symbol is currently “klfLSu“. The -Z option will strip any local symbols starting with
one of these letters, and followed by a digit string.