The APU C++ Linker page displays the build configuration settings that apply to the linker tool.
| Option | Description |
|---|---|
| Command | Command that will be used by Vision Extension Package to run the
linker. Note: Linker uses the same tool as the compiler and thus the commands in the
command line reflect those found on APU C++ Compiler page. The difference is in
command line options used to run the tool, as shown in the All options
field.
Default: ${apu_linker} |
| All options | Expanded command line options the linker will be called with. Shows actual values of variables and options according to Command line pattern. Default:-L"<S32DS_Install_dir>\eclipse\../S32DS/build_tools/APUC/lib-apex" -L"<VSDK_dir>/libs/apex/acf_target/build-apu-nxp-sa-d" -L"<VSDK_dir>/libs/apex/common/build-apu-nxp-sa-d" -T"<project_dir>/Project_Settings/Linker_Files/S32V_APEX.lcf" --gc-sections |
| Command line pattern | Command line to call the linker. Default: ${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} |
The General page allows you to configure the general settings of the linker tool.
| Option | Description |
|---|---|
| Omit all symbols information (-s) | Remove symbol and relocation table. Select this check box if you want the linker to remove entries of both symbol table and relocation table from the ELF file. By default, this check box is cleared. |
| Script files (-T) | Use linker script. Use this option to specify linker scripts. Linker scripts configure memory regions and place sections and symbol values to help avoid references to undefined symbols. Default:"${ProjDirPath}/Project_Settings/Linker_Files/S32V_APEX.lcf" |
The Libraries page allows you to specify locations where the linker should look for the custom libraries, or specify exact libraries to be used during the compilation process.
The following table describes the options available on the Libraries page.
| Option | Description |
|---|---|
| Libraries (-l) | A list of libraries to be used during linking process. Use this option to specify the libraries and the order in which the linker processes them. Important: The linker processes added libraries in the top-down order, as
specified in this list. This means that the library that is specified at the top of
the list will be linked before the libraries that follow.
Default: :libacf_target.a :libapu_common.a :libstartcpp.a :libc.a :libm.a :libhosted.a :librt.a |
| Library search path (-L) | A list of locations where to look for the libraries. Use this option to specify paths to locations where the linker should search libraries and the order in which the linker processes the locations. If you haven't opted to exclude standard system libraries, the linker processes libraries as follows:
Important: The linker processes added locations in the top-down
order, as specified in this list. This means that the path that is specified at the
top of the list will be linked before the paths that
follow.
Default: "${VSDK_APU_1.3.0_PATH}/libs/apex/acf_target/build-apu-nxp-sa-d" "${VSDK_APU_1.3.0_PATH}/libs/apex/common/build-apu-nxp-sa-d" "${APUC_4.0.1_PATH}/" |
The Miscellaneous page allows you to specify various linker configuration options.
The following table describes the options available on the Miscellaneous page.
| Option | Description |
|---|---|
| Linker flags | Allows you to specify command line options supported and not available on this
page. By default, this field is empty. |
| Other options (-Xlinker [option]) | Linker-specific options. Allows you to specify command line options not available on this page. If you specify options that take their arguments after the equal sign, specify the option and its argument as a single item. For example, to compress debug section, add --compress-debug-sections=zlib. To specify options that take arguments after the space, add the option first, and then add the argument as an item that follows the option in this list. For example, to specify that armelfd emulation mode should be used, add -m as a single item, and then add armelfd as the item that follows. By default, this list is empty. |
| Other objects | A list of object files or their locations. Use this list to specify object files that you to use during the linking process. This option lists paths that the linker searches for objects. The linker searches the paths in the order shown in this list. By default, this list is empty. |
| Remove unused sections | Turn on garbage collection for unused input sections. Select this check box to enable linker to not include sections that are not called from the binary artifact in the output that goes to the MAP file. By default, this check box is selected. |
The shared libraries are supported only for the S32V234 Cortex-A53 Linux (Shared Library) Library project type. If you want to create the shared libraries from other types of projects, you can go to the Build Artifact tab and change Artifact Type to ARM64 Linux Shared Library, but it is highly recommended to use specific type of project.