[llvm-dev] LibFuzzer and platforms availability

Marshall Clow via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 14 11:07:50 PDT 2015


On Wed, Sep 9, 2015 at 9:41 AM, Kostya Serebryany <kcc at google.com> wrote:

>
> On Wed, Sep 9, 2015 at 12:57 AM, AlexDenisov via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hi there.
>>
>> I’m trying to use LibFuzzer on OSX and face some issues:
>> I checked out LibFuzzer documentation[1] and managed to proceed until the
>> final step of the first example.
>> Now I see linker errors related to dfsan, dfsan’s documentation[2] states
>> explicitly “DataFlowSanitizer is a work in progress, currently under
>> development for x86_64 Linux.”.
>>
>
> Yes, libFuzzer does not build on OSX today.
> Marshall (CC-ed) has managed to make it work with a couple of #ifdefs
> in FuzzerTraceState.cpp.
>
>
Actually, all I did was implement an empty DF sanitizer :-)

extern "C" {

typedef uint16_t dfsan_label;

struct dfsan_label_info {
 // Fields for union labels, set to 0 for base labels.
 dfsan_label l1;
 dfsan_label l2;

 // Fields for base labels.
 const char *desc;
 void *userdata;
};

dfsan_label dfsan_create_label(const char *desc, void *userdata) { return
0; }

const struct dfsan_label_info *dfsan_get_label_info(dfsan_label label) {
return NULL; }
dfsan_label dfsan_read_label(const void *addr, size_t size) { return 0; }
void dfsan_set_label(dfsan_label label, void *addr, size_t size) {}

}


extern "C" void LLVMFuzzerTestOneInput(const unsigned char *data, size_t
size) {...}

-- Marshall
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150914/41373764/attachment.html>


More information about the llvm-dev mailing list