# 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)