Update the fuzz README to provide info about the stdc++ requirements

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22368)
This commit is contained in:
Matt Caswell 2023-10-11 17:35:10 +01:00
parent 702bb16b9f
commit 3714a735ac

View File

@ -32,6 +32,34 @@ to the `libFuzzer` library file while configuring; this is represented as
enable-ssl3 enable-ssl3-method enable-nextprotoneg \
--debug
Clang uses the gcc libstdc++ library so this must also be installed. You can
check which version of gcc clang is using like this:
$ clang --verbose
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/12
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/12
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
So, in the above example clang is using gcc version 12. Ensure that the selected
gcc version has the relevant libstdc++ files installed:
$ ls /usr/lib/gcc/x86_64-linux-gnu/12 | grep stdc++
libstdc++.a
libstdc++fs.a
libstdc++.so
On Ubuntu for gcc-12 this requires the libstdc++-12-dev package installed.
$ sudo apt-get install libstdc++-12-dev
Compile:
sudo apt-get install make