boostorg/fiber

document that library not just app must define BOOST_USE_ASAN

Jacob-Burckhardt opened this issue · 0 comments

The documentation says:

Support for sanitizers
Sanitizers (GCC/Clang) are confused by the stack switches. The library (and Boost.Context too) is required to be compiled with property (b2 command-line) context-impl=ucontext and compilers santizer options. Users must define BOOST_USE_ASAN before including any Boost.Context headers when linking against Boost binaries.

The italics sentence says to define BOOST_USE_ASAN. Please make the bold sentence also say to define BOOST_USE_ASAN.

Maybe some people would interpret the italics to refer to building the Fiber library but I thought it referred to building only my application which used the Fiber library since it uses terms like "users" which I think means a user of the Fiber library, not maintainers or builders of the library.

The italics sentence also refers to "linking" against the binaries. I think an application links against the Boost binaries. It does not seem to refer to the boost binaries linking against something else.

It took me a long time to figure out why ASAN failed with Fiber until I finally found this issue. Maybe my suggested change will also help other users.