mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 20:19:53 +00:00
Merge pull request #4442 from opensourcerouting/libtool-doc
doc: add libtool note
This commit is contained in:
commit
a0d1226e23
@ -750,7 +750,8 @@ developer will use this convention to allow control of their debugs.
|
|||||||
|
|
||||||
Static Analysis and Sanitizers
|
Static Analysis and Sanitizers
|
||||||
------------------------------
|
------------------------------
|
||||||
Clang/LLVM comes with a variety of tools that can be used to help find bugs in FRR.
|
Clang/LLVM and GCC come with a variety of tools that can be used to help find
|
||||||
|
bugs in FRR.
|
||||||
|
|
||||||
clang-analyze
|
clang-analyze
|
||||||
This is a static analyzer that scans the source code looking for patterns
|
This is a static analyzer that scans the source code looking for patterns
|
||||||
@ -794,11 +795,31 @@ All of the above tools are available in the Clang/LLVM toolchain since 3.4.
|
|||||||
AddressSanitizer and ThreadSanitizer are available in recent versions of GCC,
|
AddressSanitizer and ThreadSanitizer are available in recent versions of GCC,
|
||||||
but are no longer actively maintained. MemorySanitizer is not available in GCC.
|
but are no longer actively maintained. MemorySanitizer is not available in GCC.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The different Sanitizers are mostly incompatible with each other. Please
|
||||||
|
refer to GCC/LLVM documentation for details.
|
||||||
|
|
||||||
Additionally, the FRR codebase is regularly scanned with Coverity.
|
Additionally, the FRR codebase is regularly scanned with Coverity.
|
||||||
Unfortunately Coverity does not have the ability to handle scanning pull
|
Unfortunately Coverity does not have the ability to handle scanning pull
|
||||||
requests, but after code is merged it will send an email notifying project
|
requests, but after code is merged it will send an email notifying project
|
||||||
members with Coverity access of newly introduced defects.
|
members with Coverity access of newly introduced defects.
|
||||||
|
|
||||||
|
Executing non-installed dynamic binaries
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Since FRR uses the GNU autotools build system, it inherits its shortcomings.
|
||||||
|
To execute a binary directly from the build tree under a wrapper like
|
||||||
|
`valgrind`, `gdb` or `strace`, use::
|
||||||
|
|
||||||
|
./libtool --mode=execute valgrind [--valgrind-opts] zebra/zebra [--zebra-opts]
|
||||||
|
|
||||||
|
While replacing valgrind/zebra as needed. The `libtool` script is found in
|
||||||
|
the root of the build directory after `./configure` has completed. Its purpose
|
||||||
|
is to correctly set up `LD_LIBRARY_PATH` so that libraries from the build tree
|
||||||
|
are used. (On some systems, `libtool` is also available from PATH, but this is
|
||||||
|
not always the case.)
|
||||||
|
|
||||||
CLI changes
|
CLI changes
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user