notes.texi: Specify -lasan with -fsanitize=address in g++

When using the flag -fsanitize=address with g++, the user should also
specify -lasan to ensure linking occurs correctly. libtool uses
-nostdlib, and gcc implicitly includes -lasan when -fsanitize=address
is used. However, g++ does not implicitly include -lasan. The
documentation has been updated to reflect this information rather than
adding the -lasan flag to libtool.

* doc/notes.texi: Document that the user should pass -lasan.
This commit is contained in:
Ileana Dumitrescu 2024-03-13 19:08:54 +02:00
parent b07d71b36d
commit 3561199667
No known key found for this signature in database
GPG Key ID: 6570EA01146F7354

View File

@ -26,6 +26,12 @@ For C++ code with templates, it may be necessary to specify the way the compiler
will generate the instantiations. For Portland pgCC version5, use
@code{CXX='pgCC --one_instantiation_per_object'} and avoid parallel @command{make}.
@item
For C++ code, it may be neccesary to specify a library if it is a dependency
of a link/compile flag. For example in GNU G++, if you want to use
@code{-fsanitize=address} you need to to specify the @code{-lasan} library,
like so: @code{g++ -o libx.la -fsanitize=address -lasan -rpath [...]}.
@item
On Darwin, for C++ code with templates you need two level shared libraries.
Libtool builds these by default if @env{MACOSX_DEPLOYMENT_TARGET} is set to