cmake: linker: make passing -no-pie configurable
This adds a new linker property specifically for passing "-no-pie" to linker. Older binutils' LD (<= 2.36) do not support this flag and will behave erratically if set. It would parse "-no-pie" separately as "-n" and "-o-pie", which would result in the output file being "-pie" instead of "zephyr*.elf". Moreover, LLVM lld does not support -no-pie but --no-pie (note the extra hyphen). By having no-pie as a linker property, we can pass correct no-pie flag to these linkers (or none at all). Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
parent
04fd862f68
commit
81c3b3152c
6 changed files with 17 additions and 2 deletions
|
@ -378,6 +378,7 @@ zephyr_compile_options($<$<COMPILE_LANGUAGE:CXX>:$<TARGET_PROPERTY:compiler-cpp,
|
|||
|
||||
# @Intent: Do not make position independent code / executable
|
||||
zephyr_compile_options($<$<COMPILE_LANGUAGE:C>:$<TARGET_PROPERTY:compiler,no_position_independent>>)
|
||||
zephyr_link_libraries($<TARGET_PROPERTY:linker,no_position_independent>)
|
||||
|
||||
# Allow the user to inject options when calling cmake, e.g.
|
||||
# 'cmake -DEXTRA_CFLAGS="-Werror -Wno-deprecated-declarations" ..'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue