zephyr/cmake/linker/arcmwdt/linker_flags.cmake

43 lines
1.5 KiB
CMake

# Copyright (c) 2024 Nordic Semiconductor
#
# SPDX-License-Identifier: Apache-2.0
set_property(TARGET linker PROPERTY cpp_base -Hcplus)
check_set_linker_property(TARGET linker PROPERTY baremetal
-Hlld
-Hnosdata
-Xtimer0 # to suppress the warning message
-Hnoxcheck_obj
-Hnocplus
-Hhostlib=
-Hheap=0
-Hnoivt
-Hnocrt
)
# There are two options:
# - We have full MWDT libc support and we link MWDT libc - this is default
# behavior and we don't need to do something for that.
# - We use minimal libc provided by Zephyr itself. In that case we must not
# link MWDT libc, but we still need to link libmw
if(CONFIG_MINIMAL_LIBC)
check_set_linker_property(TARGET linker APPEND PROPERTY baremetal
-Hnolib
-Hldopt=-lmw
)
endif()
check_set_linker_property(TARGET linker PROPERTY orphan_warning
${LINKERFLAGPREFIX},--orphan-handling=warn
)
check_set_linker_property(TARGET linker PROPERTY orphan_error
${LINKERFLAGPREFIX},--orphan-handling=error
)
# Extra warnings options for twister run
set_property(TARGET linker PROPERTY warnings_as_errors -Wl,--fatal-warnings)
check_set_linker_property(TARGET linker PROPERTY sort_alignment -Wl,--sort-section=alignment)