Linker Command File Commands
..........
GROUP : {
.my_ram (VLECODE) : { //VLECODE- if the code is the generated for VLE mode
*(.myCodeInRAM)
}
} > myram
.................
14.11 Linker Command File Commands
The CodeWarrior Power Architecture linker supports these additional commands listed below:
•
AGGRESSIVE_MERGE
•
AGGRESSIVE_MERGE_FILES
•
AGGRESSIVE_MERGE_SECTIONS
•
DO_NOT_MERGE
•
DO_NOT_MERGE_FILES
•
DO_NOT_MERGE_SECTIONS
•
INIT
•
FORCEFILES
•
SHORTEN_NAMES_FOR_TOR_101
14.11.1 AGGRESSIVE_MERGE
Specifies functions that should be considered for aggressive merging when applying the code merging optimization.
Syntax
DO_NOT_MERGE {
symbol [,
symbol ]* }
14.11.2 AGGRESSIVE_MERGE_FILES
CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual, Rev.
10.6, 02/2014
278 Freescale Semiconductor, Inc.
Chapter 14 Linker for Power Architecture Processors
Specifies that all functions in object code files should be considered for aggressive merging when applying the code merging optimization.
Syntax
DO_NOT_MERGE_FILES {
file-name [,
file-name ]* }
14.11.3 AGGRESSIVE_MERGE_SECTIONS
Specifies that all functions in object code sections should be considered for aggressive merging when applying the code merging optimization.
Syntax
AGGRESSIVE_MERGE_SECTIONS {
section-name [,
section-name ]* }
14.11.4 DO_NOT_MERGE
Specifies functions that should not be removed when applying the code merging optimization.
Syntax
DO_NOT_MERGE {
symbol [,
symbol ]* }
Remarks
This directive specifies functions that the linker should keep in the output file when applying the code merging optimization even if other functions with identical object code exist.
14.11.5 DO_NOT_MERGE_FILES
CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual, Rev.
10.6, 02/2014
Freescale Semiconductor, Inc.
279
Linker Command File Commands
Specifies that all functions in a file should not be removed when applying the code merging optimization.
Syntax
DO_NOT_MERGE_FILES {
file-name [,
file-name ]* }
14.11.6 DO_NOT_MERGE_SECTIONS
Specifies that all functions in an object code section should not be removed when applying the code merging optimization.
Syntax
DO_NOT_MERGE_SECTIONS {
section-name [,
section-name ]* }
14.11.7 INIT
Defines the initialization entry point for the application.
Syntax
INIT (FunctionName)
Remarks
This command is mandatory for assembly application and optional otherwise. It cannot be specified more than once in the prm file. When you specify the INIT command in the prm file, the linker uses the specified function as application entry point. This is either the main routine or a startup routine calling the main routine.
When
INIT
is not specified in the prm
file, the linker looks for a function named
__start
and uses it as the application entry point.
Example
INIT (MyGlobStart) /* Specify a global variable as application entry point.*/
CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual, Rev.
10.6, 02/2014
280 Freescale Semiconductor, Inc.
Chapter 14 Linker for Power Architecture Processors
14.11.8 FORCEFILES
Specifies that the contents of object code files must not be deadstripped.
Syntax
FORCEFILES { file-name
[,
file-name ]* }
Remarks
Use
FORCEFILES
to list source files, archives, or archive members that you do not want dead-stripped. All objects in each of the files are included in the linker's output file even if the linker has determined that those objects are not referenced by other objects.
If you only have a few symbols that you do not want deadstripped, use
FORCEACTIVE
.
14.11.9 SHORTEN_NAMES_FOR_TOR_101
The directive
SHORTEN_NAMES_FOR_TOR_101
instructs the linker to shorten long template names for the benefit of the WindRiver® Systems Target Server. To use this directive, simply add it to the linker command file on a line by itself.
SHORTEN_NAMES_FOR_TOR_101
WindRiver Systems Tornado Version 1.0.1 (and earlier) does not support long template names as generated for the MSL C++ library. Therefore, the template names must be shortened if you want to use them with these versions of the WindRiver Systems Target
Server.
CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual, Rev.
10.6, 02/2014
Freescale Semiconductor, Inc.
281
Linker Command File Commands
CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual, Rev.
10.6, 02/2014
282 Freescale Semiconductor, Inc.