mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
build: Use -z noseparate-code
on NetBSD < 11.0
This can be dropped once Bitcoin Core no longer supports NetBSD 10.0 or if upstream fix is backported. NetBSD's dynamic linker ld.elf_so < 11.0 supports exactly 2 `PT_LOAD` segments and binaries linked with `-z separate-code` have 4 `PT_LOAD` segments. https://github.com/bitcoin/bitcoin/pull/28724#issuecomment-2589347934 https://mail-index.netbsd.org/tech-userlevel/2023/01/05/msg013666.html
This commit is contained in:
parent
8046759305
commit
f57db75e91
1 changed files with 13 additions and 1 deletions
|
@ -533,7 +533,19 @@ if(ENABLE_HARDENING)
|
||||||
try_append_linker_flag("-Wl,--high-entropy-va" TARGET hardening_interface)
|
try_append_linker_flag("-Wl,--high-entropy-va" TARGET hardening_interface)
|
||||||
try_append_linker_flag("-Wl,-z,relro" TARGET hardening_interface)
|
try_append_linker_flag("-Wl,-z,relro" TARGET hardening_interface)
|
||||||
try_append_linker_flag("-Wl,-z,now" TARGET hardening_interface)
|
try_append_linker_flag("-Wl,-z,now" TARGET hardening_interface)
|
||||||
|
# TODO: This can be dropped once Bitcoin Core no longer supports
|
||||||
|
# NetBSD 10.0 or if upstream fix is backported.
|
||||||
|
# NetBSD's dynamic linker ld.elf_so < 11.0 supports exactly 2
|
||||||
|
# `PT_LOAD` segments and binaries linked with `-z separate-code`
|
||||||
|
# have 4 `PT_LOAD` segments.
|
||||||
|
# Relevant discussions:
|
||||||
|
# - https://github.com/bitcoin/bitcoin/pull/28724#issuecomment-2589347934
|
||||||
|
# - https://mail-index.netbsd.org/tech-userlevel/2023/01/05/msg013666.html
|
||||||
|
if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD" AND CMAKE_SYSTEM_VERSION VERSION_LESS 11.0)
|
||||||
|
try_append_linker_flag("-Wl,-z,noseparate-code" TARGET hardening_interface)
|
||||||
|
else()
|
||||||
try_append_linker_flag("-Wl,-z,separate-code" TARGET hardening_interface)
|
try_append_linker_flag("-Wl,-z,separate-code" TARGET hardening_interface)
|
||||||
|
endif()
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
try_append_linker_flag("-Wl,-fixup_chains" TARGET hardening_interface)
|
try_append_linker_flag("-Wl,-fixup_chains" TARGET hardening_interface)
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Add table
Reference in a new issue