1# Copyright (c) 2024 Nordic Semiconductor
2#
3# SPDX-License-Identifier: Apache-2.0
4
5set_property(TARGET linker PROPERTY cpp_base -Hcplus)
6
7check_set_linker_property(TARGET linker PROPERTY baremetal
8                          -Hnosdata
9                          -Xtimer0 # to suppress the warning message
10                          -Hnoxcheck_obj
11                          -Hnocplus
12                          -Hhostlib=
13                          -Hheap=0
14                          -Hnoivt
15                          -Hnocrt
16)
17
18if(CONFIG_ARC)
19  check_set_linker_property(TARGET linker APPEND PROPERTY baremetal
20                            -Hlld
21  )
22endif()
23
24# There are two options:
25# - We have full MWDT libc support and we link MWDT libc - this is default
26#   behavior and we don't need to do something for that.
27# - We use minimal libc provided by Zephyr itself. In that case we must not
28#   link MWDT libc, but we still need to link libmw
29if(CONFIG_MINIMAL_LIBC)
30  check_set_linker_property(TARGET linker APPEND PROPERTY baremetal
31                            -Hnolib
32                            -Hldopt=-lmw
33  )
34endif()
35
36check_set_linker_property(TARGET linker PROPERTY orphan_warning
37                          ${LINKERFLAGPREFIX},--orphan-handling=warn
38)
39
40check_set_linker_property(TARGET linker PROPERTY orphan_error
41                          ${LINKERFLAGPREFIX},--orphan-handling=error
42)
43
44set_property(TARGET linker PROPERTY partial_linking "-r")
45
46# Extra warnings options for twister run
47set_property(TARGET linker PROPERTY warnings_as_errors -Wl,--fatal-warnings)
48
49check_set_linker_property(TARGET linker PROPERTY sort_alignment -Wl,--sort-section=alignment)
50