Displaying 20 results from an estimated 3000 matches similar to: "A "hello world" coverage sanitizer"
2016 Aug 13
2
A "hello world" coverage sanitizer
Thank you, kcc. I am unsure if I misunderstand your reply. It seems that
trace-bb, rather than trace-pc, fits better for my problem, given that my
instrumentation is to put before each conditional statement. Do I
misunderstand something here?
"
Tracing basic blocks
<http://clang.llvm.org/docs/SanitizerCoverage.html#id11>
With -fsanitize-coverage=trace-bb the compiler will insert
2016 Sep 21
3
-sanitizer-coverage-prune-blocks=true and LibFuzzer
Hello,
Is this reproducible?
> Fuzzing is a probabilistic business and one or even two runs don't prove
> much.
>
I've reproduced the behavior on two different machines. Attached is a
script to do so. To use the script,
- create an empty folder and copy both prune-blocks.sh and
ff-http-parser.sh in there
- ensure clang and clang++ are in your $PATH
- cd /path/to/prune-blocks.sh
2016 Sep 20
2
-sanitizer-coverage-prune-blocks=true and LibFuzzer
Hello LLVM devs,
I'm running lots of experiments with LibFuzzer these days -- it's an
amazing tool!
I've noticed something weird while examining the effect of various coverage
options: for one of my benchmarks, the fuzzer was achieving a higher total
coverage before April 2016, when -sanitizer-coverage-prune-blocks became
true by default (commit
2016 Sep 21
2
-sanitizer-coverage-prune-blocks=true and LibFuzzer
> On Sep 21, 2016, at 9:36 AM, Kostya Serebryany via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Exciting!
>
> (btw, I'd prefer libfuzzer at googlegroups.com <mailto:libfuzzer at googlegroups.com> for such discussions, please start new topics there)
You mean a LLVM library has a separate mailing-list? Why?
—
Mehdi
>
> I can reproduce this too, but
2016 Sep 21
2
-sanitizer-coverage-prune-blocks=true and LibFuzzer
> On Sep 21, 2016, at 12:56 PM, Kostya Serebryany <kcc at google.com> wrote:
>
>
>
> On Wed, Sep 21, 2016 at 12:32 PM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote:
>
>> On Sep 21, 2016, at 9:36 AM, Kostya Serebryany via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
2016 Oct 28
2
Basic block execution over time
Hello All,
How can I keep track of the different basic blocks of a program executed over time?
Or in other words, how can I annotate the block name (block_a) and the time/cycle at which that blocs (block_a) was executed, and do this for all the blocks on a reasonable simple program?
Regards, Raul.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2015 May 06
5
[LLVMdev] Integer ID for LLVM::Instruction*?
Hi,
I wonder whether we can easily retrieve an LLVM instruction ID that
uniquely identifies the instruction. In my case, I need to avoid using
llvm::Instruction* directly. Given an 'inst' of type llvm::instruction*, is
there some readily usable method as simple as "int id = inst->id( )"?
Thanks.
Zhoulai
-------------- next part --------------
An HTML attachment was
2015 May 07
2
[LLVMdev] Integer ID for LLVM::Instruction*?
David,
As you suggested, I try to compile the following test code:
*include "llvm/IR/Instruction.h"#include "stdint.h"extern void
callback(intptr_t);void foo(){ llvm::Instruction* i; intptr_t
zzzz=static_cast<intptr_t>(i); callback(zzzz);}*
but got this compilation error:
* 'intptr_t' (aka 'long') is not allowed intptr_t
2017 Aug 24
4
Building LLVM's fuzzers
On Thu, Aug 24, 2017 at 3:21 PM, Kostya Serebryany via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
>
>
> On Thu, Aug 24, 2017 at 3:20 PM, Justin Bogner <mail at justinbogner.com>
> wrote:
>
>> I think the simplest fix is something like this:
>>
>> diff --git a/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
>>
2015 Apr 09
2
[LLVMdev] BasicBlock.h in the binary and in the source differ
The source is cloned from
https://github.com/llvm-mirror/llvm
Thanks.
Zhoulai
On Thu, Apr 9, 2015 at 9:15 AM, Jonathan Roelofs <jonathan at codesourcery.com>
wrote:
>
>
> On 4/9/15 9:58 AM, Zhoulai wrote:
>
>> Hi, I am using LLVM to develop a tool, using Mac OS 10.9. I have
>> download llvm source and binary from
>>
>>
2015 Apr 09
3
[LLVMdev] BasicBlock.h in the binary and in the source differ
Hi, I am using LLVM to develop a tool, using Mac OS 10.9. I have download
llvm source and binary from
http://llvm.org/releases/download.html
I just find the BasicBlock.h file of the binary package
clang+llvm-3.6.0-x86_64-apple-darwin/include/llvm/IR/BasicBlock.h
is slightly different from that of the source
llvm/include/llvm/IR/BasicBlock.h
In particular, llvm:: getModule(..)
2017 Aug 24
2
Building LLVM's fuzzers
I think the simplest fix is something like this:
diff --git a/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
index c6f0d17f8fe..e81957ab80a 100644
--- a/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
+++ b/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
@@ -256,6 +256,7 @@ SanitizerCoverageModule::CreateSecStartEnd(Module
2015 Jul 24
2
[LLVMdev] Transforming SwitchInst to BranchInst
Hi,
Are there some built-in LLVM transformation pass, or written library code
that transforms LLVM::SwitchInst into if-condition statements (LLVM::
BranchInst)?
The purpose of the transformation is that we have a legacy program analyzer
that includes an LLVM pass manipulating if-condition statements. Statements
of LLVM::SwithchInst should have been handled in the same manner but was
not done.
2015 Jun 07
2
[LLVMdev] Loop Unfolding in LLVM
Hello,
I am looking for a loop unfolding procedure implemented in LLVM that helps
to transform a while-loop to n-layer If-statements. The transformation
should be on IR, although the example below is illustrated on the source
level.
original loop:
* WHILE (condition) DO
action
ENDWHILE*
Expected unfolded loop (2-layer):
* IF (condition) THEN*
* action*
* IF
2015 Apr 19
2
[LLVMdev] LLVM IR for inline functions
Hi,
I have a naive question on how to generate LLVM IR for inline functions. I
have compiled this C code:
*inline void func1()*
* {*
* int x=3;*
* }*
* void func2()*
* {*
* func1();*
* int y = 4;*
* }*
into LLVM IR, using
clang -emit-llvm -S -c <filename>
But the generated LLVM IR file does *not* have func1() expanded (see below
for the relevant parts).
*; Function Attrs: nounwind
2020 Jun 28
3
Introducing the binary-level coverage analysis tool bcov
Hi Fangrui,
Many thanks for providing such detailed feedback! Please find my comments
inlined below.
- Ammar
On Sun, Jun 28, 2020 at 5:59 AM Fangrui Song <maskray at google.com> wrote:
> On 2020-06-26, Ammar Ben Khadra via llvm-dev wrote:
> >## TL;DR
> >
> >We introduce bcov, an open-source binary-level coverage analysis tool [1].
> >The details are discussed
2017 Aug 24
3
Building LLVM's fuzzers
On Thu, Aug 24, 2017 at 3:38 PM, Kostya Serebryany <kcc at google.com> wrote:
>
>
> On Thu, Aug 24, 2017 at 3:35 PM, Peter Collingbourne <peter at pcc.me.uk>
> wrote:
>
>> On Thu, Aug 24, 2017 at 3:21 PM, Kostya Serebryany via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>>
>>>
>>> On Thu, Aug 24, 2017 at 3:20
2017 Aug 25
2
Building LLVM's fuzzers
On Thu, Aug 24, 2017 at 6:30 PM, Justin Bogner <mail at justinbogner.com>
wrote:
> Peter Collingbourne <peter at pcc.me.uk> writes:
> > On Thu, Aug 24, 2017 at 3:38 PM, Kostya Serebryany <kcc at google.com>
> wrote:
> >
> >>
> >>
> >> On Thu, Aug 24, 2017 at 3:35 PM, Peter Collingbourne <peter at pcc.me.uk>
> >> wrote:
2017 Sep 11
2
Building LLVM's fuzzers
Kostya Serebryany <kcc at google.com> writes:
> Justin,
> Calling appendToUsed has horrible complexity and if we call it in
> every function clang consumes tons of memory (6Gb when compiling one
> of the clang's source files). This killed my machine today :)
>
> The solution is to call appendToUsed once per module, instead of once
> per function.
Oh right,
2016 Sep 21
2
-sanitizer-coverage-prune-blocks=true and LibFuzzer
> On Sep 21, 2016, at 1:25 PM, Kostya Serebryany <kcc at google.com> wrote:
>
>
>
> On Wed, Sep 21, 2016 at 12:58 PM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote:
>
>> On Sep 21, 2016, at 12:56 PM, Kostya Serebryany <kcc at google.com <mailto:kcc at google.com>> wrote:
>>
>>
>>