<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 9, 2016 at 2:58 PM, Kostya Serebryany via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: kcc<br>
Date: Fri Sep  9 16:58:42 2016<br>
New Revision: 281106<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=281106&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=281106&view=rev</a><br>
Log:<br>
[libFuzzer] one more puzzle for value profile<br>
<br>
Added:<br>
    llvm/trunk/lib/Fuzzer/test/<wbr>AbsNegAndConstant64Test.cpp<br>
Modified:<br>
    llvm/trunk/lib/Fuzzer/test/<wbr>CMakeLists.txt<br>
    llvm/trunk/lib/Fuzzer/test/<wbr>value-profile-cmp.test<br>
<br>
Added: llvm/trunk/lib/Fuzzer/test/<wbr>AbsNegAndConstant64Test.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/AbsNegAndConstant64Test.cpp?rev=281106&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Fuzzer/<wbr>test/AbsNegAndConstant64Test.<wbr>cpp?rev=281106&view=auto</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Fuzzer/test/<wbr>AbsNegAndConstant64Test.cpp (added)<br>
+++ llvm/trunk/lib/Fuzzer/test/<wbr>AbsNegAndConstant64Test.cpp Fri Sep  9 16:58:42 2016<br>
@@ -0,0 +1,23 @@<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+<br>
+// abs(x) < 0 and y == Const puzzle, 64-bit variant.<br>
+#include <cstring><br>
+#include <cstdint><br>
+#include <cstdlib><br>
+#include <cstddef><br>
+#include <cstdio><br>
+<br>
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {<br>
+  if (Size < 16) return 0;<br>
+  long x;<br>
+  unsigned long y;<br>
+  memcpy(&x, Data, 8);<br>
+  memcpy(&y, Data + 8, 8);<br></blockquote><div><br></div><div>Can you use sizeof instead of hardcoded values?</div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+  if (labs(x) < 0 && y == 0xbaddcafedeadbeefUL) {<br>
+    printf("BINGO; Found the target, exiting; x = 0x%lx y 0x%lx\n", x, y);<br>
+    exit(1);<br>
+  }<br>
+  return 0;<br>
+}<br>
+<br>
<br>
Modified: llvm/trunk/lib/Fuzzer/test/<wbr>CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/CMakeLists.txt?rev=281106&r1=281105&r2=281106&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Fuzzer/<wbr>test/CMakeLists.txt?rev=<wbr>281106&r1=281105&r2=281106&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Fuzzer/test/<wbr>CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Fuzzer/test/<wbr>CMakeLists.txt Fri Sep  9 16:58:42 2016<br>
@@ -63,6 +63,7 @@ set(TestBinaries)<br>
<br>
 set(Tests<br>
   AbsNegAndConstantTest<br>
+  AbsNegAndConstant64Test<br>
   AccumulateAllocationsTest<br>
   BufferOverflowOnInput<br>
   CallerCalleeTest<br>
<br>
Modified: llvm/trunk/lib/Fuzzer/test/<wbr>value-profile-cmp.test<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/test/value-profile-cmp.test?rev=281106&r1=281105&r2=281106&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Fuzzer/<wbr>test/value-profile-cmp.test?<wbr>rev=281106&r1=281105&r2=<wbr>281106&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Fuzzer/test/<wbr>value-profile-cmp.test (original)<br>
+++ llvm/trunk/lib/Fuzzer/test/<wbr>value-profile-cmp.test Fri Sep  9 16:58:42 2016<br>
@@ -2,5 +2,6 @@ CHECK: BINGO<br>
 RUN: not LLVMFuzzer-SimpleCmpTest -use_value_profile=1 -runs=100000000 2>&1 | FileCheck %s<br>
 RUN: not LLVMFuzzer-SimpleHashTest -use_value_profile=1 -runs=100000000 2>&1 | FileCheck %s<br>
 RUN: not LLVMFuzzer-<wbr>AbsNegAndConstantTest -use_value_profile=1 -runs=100000000 2>&1 | FileCheck %s<br>
+RUN: not LLVMFuzzer-<wbr>AbsNegAndConstant64Test -use_value_profile=1 -runs=100000000 2>&1 | FileCheck %s<br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>