3.7.1 Outputting the variable/function information file
- | When the -lnkopt=-vfinfo option is specified, the optimizing linker outputs the variable/function information file.
For details on the -vfinfo option, see "-VFINFO". |
- | The optimizing linker significantly reduces the size of the code as a whole by selecting variables and functions on the basis of size of variables and frequency of reference and producing header files (variable/function information files) in which #pragma directives to use the saddr variables, callt function, or near function are added. |
For #pragma saddr, see "Using saddr area (__saddr)". For #pragma callt, see "callt function (__callt)". For #pragma near, see "near/far function (#pragma near/#pragma far) [V1.05 or later]".
- | The following variables or functions are not targets of the variable/function information file.
However, interrupt handlers are commented out in the variable/function information file. |
- | Standard library functions and runtime library functions |
- | Software interrupt handler, hardware interrupt handler, and RTOS interrupt handler |
- | Variables or functions defined in the assembly source file |
- | The output example of the variable/function information file is shown below. |
/* RENESAS OPTIMIZING LINKER GENERATED FILE 2014.10.20 */
/*** variable information ***/
(1) (2) (3) (4) (5)
#pragma saddr var1 /* count:10,size:1,near, file1.obj */
(6) (2) (3) (4) (7) (5)
/* #pragma saddr var2 */ /* count: 0,size:2,near,unref, file2.obj */
/*** function information ***/
(8) (9) (10) (11)
#pragma callt func1 /* count:20,near, file1.obj */
(12) (9) (10) (11)
#pragma near func2 /* count:10,far, file2.obj */
(13) (9) (10) (14) (11)
/* #pragma near func3 */ /* count: 0,far,unref, file3.obj */
|
|
|
|
Variable information
A declaration of the saddr variable by a #pragma directive is output.
|
|
Number of references
The number of times the variable is referenced is output.
|
|
Size of variable
The size of the variable is output.
|
|
Reference type
The original reference type of the variable is output as near, far, or saddr.
|
|
File name
The object file name to which the variable belongs is output.
|
|
Variable information
The variable spilled from the saddr area is output as a comment.
|
|
Supplementary information of variable
Supplementary information of the variable is output. The following items are such supplementary information.
unref: Output when the variable is not referenced.
const: Output for a const variable.
fix: Output when the location of the variable is not relocatable.
unrecognizable: Output when the variable cannot be recognized as a symbol.
|
|
Function information
A declaration of the callt function by a #pragma directive is output.
|
|
Number of references
The number of times the function is referenced is output.
|
|
Method of function call
The original method of function call is output as near, far, or callt.
|
|
File name
The object file name to which the function belongs is output.
|
|
Function information
A declaration of the near function by a #pragma directive is output.
|
|
Function information
The function spilled from the callt or near area is output as a comment.
|
|
Supplementary information of function
Supplementary information of the function is output. The following items are such supplementary information.
unref: Output when the function is not referenced.
interrupt: Output for an interrupt handler.
unrecognizable: Output when the function cannot be recognized as a symbol.
|