]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
cmake: define BOOST_USE_UCONTEXT tree-wide under ASan 69622/head
authorSun Yuechi <sunyuechi@iscas.ac.cn>
Sat, 20 Jun 2026 07:17:26 +0000 (15:17 +0800)
committerSun Yuechi <sunyuechi@iscas.ac.cn>
Mon, 22 Jun 2026 05:26:12 +0000 (13:26 +0800)
commit5166ec6f064fcc9a3299022ccebfdf69c8f6ec93
treeccb2369c1c91f836e02a73dbede12d218132f8a0
parent746019c6edd37baccf1de763023ab99e8659a2ea
cmake: define BOOST_USE_UCONTEXT tree-wide under ASan

Under WITH_ASAN Boost.Context is built ucontext-only, so consumers that
include its headers without linking Boost::context (e.g. libosd) were
still built for the fcontext backend and broke the link:

    mold: error: undefined symbol: boost::context::detail::make_fcontext

Define the backend tree-wide so every consumer agrees on it.

riscv64's ASan runtime mis-handles makecontext/swapcontext, so the
ucontext fiber backend reports false-positive heap-buffer-overflows on
fiber switch that can't be suppressed. So exclude it.

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
CMakeLists.txt
cmake/modules/BuildBoost.cmake