boostorg / fiber

userland threads
464 stars 108 forks source link

document that library not just app must define BOOST_USE_ASAN #289

Open Jacob-Burckhardt opened 2 years ago

Jacob-Burckhardt commented 2 years ago

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_USEASAN 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.