Git Product home page Git Product logo

Comments (4)

strongcourage avatar strongcourage commented on July 24, 2024 1

I use llvm version 4.0.0. AFLGo is currently "sensitive" with the clang version. We also plan to use the latest verion of llvm 8.

Please let me know if you can use pre-built binaries of llvm and clang to run AFLGo. We will update the building script. Thanks.

from aflgo.

zjuchenyuan avatar zjuchenyuan commented on July 24, 2024

Besides, aflgo-build.sh compile clang and llvm from source code, which takes long time (longer than 4 hours), and makes DockerHub automated build time out.

I propose change to download and decompress pre-built binaries, like what Angora did: https://github.com/AngoraFuzzer/Angora/blob/master/build/install_llvm.sh

from aflgo.

zjuchenyuan avatar zjuchenyuan commented on July 24, 2024

It seems not that easy to skip compiling LLVM, since the pre-built binaries does not include LLVM-Gold plugin. (Besides, llvm.org does not provide version 4.0.1 pre-built binaries for ubuntu, wierd...)

After many tries, I still cannot find aflgo-compatible LLVM install methods without building LLVM.

Here are my failed tries, may be useful for further investigation:

  1. use default apt clang-4.0

aflgo can be built, but cannot build target programs.
ar and ranlib not working, asm-instrumentation registered more than once, issue: http://lists.llvm.org/pipermail/llvm-bugs/2016-April/046663.html

  1. use apt.llvm.org provided clang-4.0

apt install clang-4.0=1:4.0~svn305264-1~exp1 libclang1-4.0=1:4.0~svn305264-1~exp1 libclang-common-4.0-dev=1:4.0~svn305264-1~exp1 libllvm4.0=1:4.0~svn305264-1~exp1 llvm-4.0-tools=1:4.0~svn305264-1~exp1 llvm-4.0-dev=1:4.0~svn305264-1~exp1 llvm-4.0=1:4.0~svn305264-1~exp1 llvm-4.0-runtime=1:4.0~svn305264-1~exp1 libclang-4.0-dev=1:4.0~svn305264-1~exp1

ld do not support certain parameter (I forget to record error message). aflgo llvm-mode cannot be built.

  1. use default apt clang-4.0 but add my pre-built LLVMgold.so to /usr/lib/bfd-plugins (from previous full build)

Both aflgo and target program can be built. But [!] Could not generate call graph. Repeating..

  1. only build LLVMgold by ninja LLVMgold

This build generate a huge LLVMgold.so (425MB, compared to 25M from full build).

cannot link target program: undefined reference to __afl_area_ptr

from aflgo.

strongcourage avatar strongcourage commented on July 24, 2024

Thanks @zjuchenyuan for your tries. I think we have tried some cases, but got a conclusion to use oss-fuzz's building script. Also, if we use the newest version of clang and llvm, we may need to update llvm-mode.

from aflgo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.