Comments (6)
I might try clang-14 to see if that fixes it
from fuzz-introspector.
I haven't seen this issue before, but I will take a loot in the near future. There are a few things that could be improved in the llvm pass, which may assist here.
Is bitcoin-core able to compile with LTO by default?
from fuzz-introspector.
Looks like clang-14 fixed it #29 for me. No idea why 🤷♂️
from fuzz-introspector.
Oh, apologies. I forgot to press CTRL+C to continue the compilation.
clang-14 fails with some lto issue in cryptofuzz (which is part of OSS-Fuzz bitcoin-core):
[ 55%] Linking C static library libcpu_features.a
make[3]: Leaving directory '/src/cryptofuzz/third_party/cpu_features/build'
[ 55%] Built target cpu_features
make[3]: Entering directory '/src/cryptofuzz/third_party/cpu_features/build'
make[3]: Leaving directory '/src/cryptofuzz/third_party/cpu_features/build'
make[3]: Entering directory '/src/cryptofuzz/third_party/cpu_features/build'
[ 66%] Building C object CMakeFiles/list_cpu_features.dir/src/utils/list_cpu_features.c.o
[ 77%] Linking C executable list_cpu_features
make[3]: Leaving directory '/src/cryptofuzz/third_party/cpu_features/build'
[ 77%] Built target list_cpu_features
make[3]: Entering directory '/src/cryptofuzz/third_party/cpu_features/build'
make[3]: Leaving directory '/src/cryptofuzz/third_party/cpu_features/build'
make[3]: Entering directory '/src/cryptofuzz/third_party/cpu_features/build'
[ 88%] Building C object CMakeFiles/unix_based_hardware_detection.dir/src/hwcaps.c.o
[100%] Building C object CMakeFiles/unix_based_hardware_detection.dir/src/unix_features_aggregator.c.o
make[3]: Leaving directory '/src/cryptofuzz/third_party/cpu_features/build'
[100%] Built target unix_based_hardware_detection
make[2]: Leaving directory '/src/cryptofuzz/third_party/cpu_features/build'
make[1]: Leaving directory '/src/cryptofuzz/third_party/cpu_features/build'
clang++ -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -flto -fsanitize=fuzzer-no-link -stdlib=libc++ -DCRYPTOFUZZ_NO_OPENSSL -I /src/boost_1_74_0/ -DCRYPTOFUZZ_SECP256K1 -DCRYPTOFUZZ_TREZOR_FIRMWARE -DCRYPTOFUZZ_BOTAN -DCRYPTOFUZZ_BOTAN_IS_ORACLE -DCRYPTOFUZZ_BITCOIN -Wall -Wextra -std=c++17 -I include/ -I . -I fuzzing-headers/include -DFUZZING_HEADERS_NO_IMPL repository.cpp -c -o repository.o
In file included from driver.cpp:4:
./executor.h:36:78: warning: unused parameter 'module' [-Wunused-parameter]
virtual std::optional<ResultType> callModule(std::shared_ptr<Module> module, OperationType& op) const { ::abort(); }
^
./executor.h:36:101: warning: unused parameter 'op' [-Wunused-parameter]
virtual std::optional<ResultType> callModule(std::shared_ptr<Module> module, OperationType& op) const { ::abort(); }
^
In file included from executor.cpp:1:
./executor.h:36:78: warning: unused parameter 'module' [-Wunused-parameter]
virtual std::optional<ResultType> callModule(std::shared_ptr<Module> module, OperationType& op) const { ::abort(); }
^
./executor.h:36:101: warning: unused parameter 'op' [-Wunused-parameter]
virtual std::optional<ResultType> callModule(std::shared_ptr<Module> module, OperationType& op) const { ::abort(); }
^
2 warnings generated.
executor.cpp:1422:150: warning: unused parameter 'op' [-Wunused-parameter]
template<> void ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::postprocess(std::shared_ptr<Module> module, operation::BLS_Compress_G1& op, const ExecutorBase<component::Bignum, operation::BLS_Compress_G1>::ResultPair& result) const {
^
3 warnings generated.
test -fsanitize=fuzzer
clang++ -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -flto -fsanitize=fuzzer-no-link -stdlib=libc++ -DCRYPTOFUZZ_NO_OPENSSL -I /src/boost_1_74_0/ -DCRYPTOFUZZ_SECP256K1 -DCRYPTOFUZZ_TREZOR_FIRMWARE -DCRYPTOFUZZ_BOTAN -DCRYPTOFUZZ_BOTAN_IS_ORACLE -DCRYPTOFUZZ_BITCOIN -Wall -Wextra -std=c++17 -I include/ -I . -I fuzzing-headers/include -DFUZZING_HEADERS_NO_IMPL driver.o executor.o util.o entry.o tests.o operation.o datasource.o repository.o options.o components.o wycheproof.o crypto.o mutator.o numbers.o mutatorpool.o ecc_diff_fuzzer_importer.o ecc_diff_fuzzer_exporter.o botan_importer.o modules/bitcoin/module.a modules/secp256k1/module.a modules/trezor/module.a modules/botan/module.a -fsanitize=fuzzer third_party/cpu_features/build/libcpu_features.a -o cryptofuzz
/usr/bin/ld: error: LLVM gold plugin: <unknown>:0: Undefined temporary symbol .Ltmp124085
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile:49: cryptofuzz] Error 1
ERROR:root:Building fuzzers failed.
from fuzz-introspector.
Oh, apologies. I forgot to press CTRL+C to continue the compilation.
This is also an inconvenient aspect of the oss-fuzz integration. I added to the patch such that the webserver won't be launched 1520b5d so no more CTRL-C
from fuzz-introspector.
I think this was fixed. Will open a new issue if it happens again.
from fuzz-introspector.
Related Issues (20)
- Incorrect coverage indication in Lua HOT 1
- Create a GitHub badge
- question about local build HOT 3
- Add links to source code on https://introspector.oss-fuzz.com/ HOT 6
- REST-API interface is very inconsistent HOT 9
- Extend project-summary API endpoint to include project wide summary HOT 6
- web_api: Consider Semver
- Incorrect `fuzzer_name`s in some projects
- using fuzz introspector with other fuzzers (AFL-Like) HOT 3
- Add rust support for introspector HOT 4
- Missing timestamps for projects on introspector.oss-fuzz.com HOT 1
- web app: on project profile page add graphs for historical progression of coverage per-fuzzer
- Improve cross-referencing data
- expat: showing 0.0% code coverage even if the static inline function is reached HOT 2
- missing type definitions for ndpi functions
- Showing FI compatibility with a project in the `far-reach-but-low-coverage` API HOT 2
- web: Add further APIs
- Proposed legal & governance improvements for the OpenSSF
- Introspector Builds Failing for all OSS-Fuzz Python Projects Since 2024-04-23 HOT 4
- Docker build fails HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fuzz-introspector.