| # Copyright (c) 2024 Nordic Semiconductor |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # Base properties. |
| # Basic linker properties which should always be applied for a Zephyr build. |
| set_property(TARGET linker PROPERTY base) |
| |
| # Base properties when C++ support is enabled. |
| # Basic linker properties which should always be applied for a Zephyr build |
| # using C++. |
| set_property(TARGET linker PROPERTY cpp_base) |
| |
| # Base properties when building Zephyr for an embedded target (baremetal). |
| set_property(TARGET linker PROPERTY baremetal) |
| |
| # Property for controlling linker reporting / handling when placing orphaned sections. |
| set_property(TARGET linker PROPERTY orphan_warning) |
| set_property(TARGET linker PROPERTY orphan_error) |
| |
| # coverage is a property holding the linker flag required for coverage support on the toolchain. |
| # For example, on ld/gcc this would be: -lgcov |
| # Set the property for the corresponding flags of the given toolchain. |
| set_property(TARGET linker PROPERTY coverage) |
| |
| # Linker flag for printing of memusage. |
| # Set this flag if the linker supports reporting of memusage as part of link, |
| # such as ls --print-memory-usage flag. |
| # If memory reporting is a post build command, please use |
| # cmake/bintools/bintools.cmake instead. |
| check_set_linker_property(TARGET linker PROPERTY memusage) |
| |
| # Extra warnings options for twister run |
| set_property(TARGET linker PROPERTY warnings_as_errors) |
| |
| # Linker flag for disabling position independent binaries, |
| # such as, "-no-pie" for LD, and "--no-pie" for LLD. |
| set_property(TARGET linker PROPERTY no_position_independent) |
| |
| # Linker flag for doing partial linking |
| # such as, "-r" or "--relocatable" for LD and LLD. |
| set_property(TARGET linker PROPERTY partial_linking) |
| |
| # Linker flag for section sorting by alignment |
| set_property(TARGET linker PROPERTY sort_alignment) |
| |
| # Linker flag for disabling relaxation of address optimization for jump calls. |
| set_property(TARGET linker PROPERTY no_relax) |
| |
| # Linker flag for enabling relaxation of address optimization for jump calls. |
| set_property(TARGET linker PROPERTY relax) |
| |
| # Linker flag for defining specs. Defined only by gcc, when gcc is used as |
| # front-end for ld. |
| set_compiler_property(PROPERTY specs) |