morehouse (Matt Morehouse)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2017, 4:27 PM (16 w, 3 d)

Recent Activity

Wed, Oct 18

morehouse committed rL316103: [clang-proto-fuzzer] Use ToT protobuf-mutator..
[clang-proto-fuzzer] Use ToT protobuf-mutator.
Wed, Oct 18, 11:38 AM

Tue, Oct 17

morehouse closed D38981: Added SpecialCastList fuzzer..

Landed as r316014.

Tue, Oct 17, 10:46 AM
morehouse committed rL316014: [llvm-special-case-list-fuzzer] Add fuzz target..
[llvm-special-case-list-fuzzer] Add fuzz target.
Tue, Oct 17, 10:43 AM
morehouse accepted D38981: Added SpecialCastList fuzzer..

LGTM

Tue, Oct 17, 8:56 AM

Mon, Oct 16

morehouse added inline comments to D38981: Added SpecialCastList fuzzer..
Mon, Oct 16, 5:11 PM

Fri, Oct 13

morehouse committed rL315716: [llvm-demangle-fuzzer] Add a fuzz target for ItaniumDemangler..
[llvm-demangle-fuzzer] Add a fuzz target for ItaniumDemangler.
Fri, Oct 13, 10:35 AM
morehouse closed D38855: Add a fuzz target for llvm's ItaniumDemangler. by committing rL315716: [llvm-demangle-fuzzer] Add a fuzz target for ItaniumDemangler..
Fri, Oct 13, 10:35 AM

Thu, Oct 12

morehouse committed rL315647: [llvm-isel-fuzzer] Use "--" as separator rather than '='..
[llvm-isel-fuzzer] Use "--" as separator rather than '='.
Thu, Oct 12, 5:18 PM
morehouse closed D38866: [llvm-isel-fuzzer] Use "--" as separator rather than '='. by committing rL315647: [llvm-isel-fuzzer] Use "--" as separator rather than '='..
Thu, Oct 12, 5:18 PM
morehouse added a comment to D38866: [llvm-isel-fuzzer] Use "--" as separator rather than '='..

I tested this manually and it seems to work, but doing ninja check-llvm doesn't seem to run these test cases for me. Maybe my config uses rpath?

Thu, Oct 12, 5:06 PM
morehouse created D38866: [llvm-isel-fuzzer] Use "--" as separator rather than '='..
Thu, Oct 12, 5:04 PM
morehouse committed rL315630: [cmake] Rename LIB_FUZZING_ENGINE to LLVM_LIB_FUZZING_ENGINE..
[cmake] Rename LIB_FUZZING_ENGINE to LLVM_LIB_FUZZING_ENGINE.
Thu, Oct 12, 3:00 PM
morehouse committed rL315629: [cmake] Allow building fuzzers with OSS-Fuzz flags..
[cmake] Allow building fuzzers with OSS-Fuzz flags.
Thu, Oct 12, 2:59 PM
morehouse closed D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags. by committing rL315629: [cmake] Allow building fuzzers with OSS-Fuzz flags..
Thu, Oct 12, 2:58 PM
morehouse added inline comments to D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags..
Thu, Oct 12, 1:55 PM
morehouse updated the diff for D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags..
  • Add cache variable and rename to LLVM_LIB_FUZZING_ENGINE.
Thu, Oct 12, 1:53 PM
morehouse added inline comments to D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags..
Thu, Oct 12, 12:59 PM
morehouse created D38858: [cmake] Allow building fuzzers with OSS-Fuzz flags..
Thu, Oct 12, 12:15 PM
morehouse added a comment to D38855: Add a fuzz target for llvm's ItaniumDemangler..

To add this to OSS-Fuzz, you will need to link with LIB_FUZZING_ENGINE.

Thu, Oct 12, 11:49 AM
morehouse committed rL315603: [clang-format] Allow building fuzzer with OSS-Fuzz flags..
[clang-format] Allow building fuzzer with OSS-Fuzz flags.
Thu, Oct 12, 11:39 AM
morehouse closed D38853: [clang-format] Allow building fuzzer with OSS-Fuzz flags. by committing rL315603: [clang-format] Allow building fuzzer with OSS-Fuzz flags..
Thu, Oct 12, 11:39 AM
morehouse added a comment to D38855: Add a fuzz target for llvm's ItaniumDemangler..

To add this to OSS-Fuzz, you will need to link with LIB_FUZZING_ENGINE.

Thu, Oct 12, 11:15 AM
morehouse created D38853: [clang-format] Allow building fuzzer with OSS-Fuzz flags..
Thu, Oct 12, 10:38 AM

Wed, Oct 11

morehouse committed rL315506: [clang-fuzzer] Build with newer protobuf-mutator..
[clang-fuzzer] Build with newer protobuf-mutator.
Wed, Oct 11, 1:45 PM
morehouse committed rL315486: [clang-fuzzer] Allow linking with any fuzzing engine..
[clang-fuzzer] Allow linking with any fuzzing engine.
Wed, Oct 11, 11:29 AM
morehouse closed D38812: [clang-fuzzer] Allow linking with any fuzzing engine. by committing rL315486: [clang-fuzzer] Allow linking with any fuzzing engine..
Wed, Oct 11, 11:29 AM
morehouse created D38812: [clang-fuzzer] Allow linking with any fuzzing engine..
Wed, Oct 11, 11:21 AM
morehouse committed rL315465: Reland "[clang-fuzzer] Allow building without coverage instrumentation.".
Reland "[clang-fuzzer] Allow building without coverage instrumentation."
Wed, Oct 11, 8:51 AM
morehouse committed rL315463: [clang-fuzzer] Fix shared library dependencies..
[clang-fuzzer] Fix shared library dependencies.
Wed, Oct 11, 8:14 AM

Tue, Oct 10

morehouse committed rL315355: Revert "[clang-fuzzer] Allow building without coverage instrumentation.".
Revert "[clang-fuzzer] Allow building without coverage instrumentation."
Tue, Oct 10, 1:13 PM
morehouse committed rL315339: [clang-fuzzer] Build proto-to-cxx with fuzzer-no-link..
[clang-fuzzer] Build proto-to-cxx with fuzzer-no-link.
Tue, Oct 10, 10:59 AM
morehouse committed rL315336: [clang-fuzzer] Allow building without coverage instrumentation..
[clang-fuzzer] Allow building without coverage instrumentation.
Tue, Oct 10, 10:42 AM
morehouse closed D38642: [clang-fuzzer] Allow building without coverage instrumentation. by committing rL315336: [clang-fuzzer] Allow building without coverage instrumentation..
Tue, Oct 10, 10:41 AM
morehouse updated the summary of D38642: [clang-fuzzer] Allow building without coverage instrumentation..
Tue, Oct 10, 10:40 AM

Fri, Oct 6

morehouse added a comment to D38642: [clang-fuzzer] Allow building without coverage instrumentation..
In D38642#891074, @kcc wrote:

If you can *easily* share main() with the one in LLVM -- do it, otherwise don't bother.

Fri, Oct 6, 3:35 PM
morehouse updated the diff for D38642: [clang-fuzzer] Allow building without coverage instrumentation..
  • Revert "Remove dummy main and link with -fsantize=fuzzer."
Fri, Oct 6, 3:32 PM
morehouse updated the summary of D38642: [clang-fuzzer] Allow building without coverage instrumentation..
Fri, Oct 6, 2:55 PM
morehouse updated the diff for D38642: [clang-fuzzer] Allow building without coverage instrumentation..
  • Remove dummy main and link with -fsantize=fuzzer.
Fri, Oct 6, 2:47 PM
morehouse added a comment to D38642: [clang-fuzzer] Allow building without coverage instrumentation..
In D38642#890969, @kcc wrote:

I'd like to know more.
At least simple cases work fine:

You're right. I was trying to add -fsanitize=fuzzer to CMAKE_CXX_FLAGS right before the link command, which was causing a later compilation to give the error. Setting CMAKE_EXE_LINKER_FLAGS seems to work though.

Fri, Oct 6, 1:48 PM
morehouse added a comment to D38642: [clang-fuzzer] Allow building without coverage instrumentation..
In D38642#890963, @kcc wrote:

It's not about coverage instrumentation (not) being present, but about libFuzzer's main() being present, right?

Yes.

Will we be able to reuse some of Justin's code instead of creating one more main() function?

This reuses the code that Justin moved to FuzzMutate/FuzzerCLI. That's why the main is so short. But perhaps we could move the main itself into FuzzerCLI?

Or, why not link with libFuzzer (-fsanitize=fuzzer at link time) even if we don't us einstrumentation at compile time?

When I tried this, I got undefined references to all kinds of __sanitizer_cov_* symbols.

Fri, Oct 6, 1:22 PM
morehouse updated the summary of D38642: [clang-fuzzer] Allow building without coverage instrumentation..
Fri, Oct 6, 1:07 PM
morehouse created D38642: [clang-fuzzer] Allow building without coverage instrumentation..
Fri, Oct 6, 1:04 PM

Tue, Oct 3

morehouse added a comment to D35602: Generate error reports when a fuzz target exits..

Also, are you sure this change is what broke coverage? I can replicate this issue at ToT libFuzzer, but not at r308669.

Tue, Oct 3, 5:08 PM
morehouse added a comment to D35602: Generate error reports when a fuzz target exits..

One option may be to add a flag to disable the exit hook and use that when doing coverage builds. Actually I thought I included a flag in this revision, but apparently not.

Tue, Oct 3, 4:13 PM

Sep 20 2017

morehouse committed rL313831: [MSan] Disable sanitization for __sanitizer_dtor_callback..
[MSan] Disable sanitization for __sanitizer_dtor_callback.
Sep 20 2017, 3:54 PM
morehouse closed D38063: [MSan] Disable sanitization for __sanitizer_dtor_callback. by committing rL313831: [MSan] Disable sanitization for __sanitizer_dtor_callback..
Sep 20 2017, 3:54 PM
morehouse updated the diff for D38063: [MSan] Disable sanitization for __sanitizer_dtor_callback..
  • Add LLVM test.
Sep 20 2017, 3:44 PM
morehouse updated the diff for D38063: [MSan] Disable sanitization for __sanitizer_dtor_callback..
  • Add test case.
  • Use SanitizerScope.
Sep 20 2017, 2:21 PM

Sep 19 2017

morehouse created D38063: [MSan] Disable sanitization for __sanitizer_dtor_callback..
Sep 19 2017, 4:55 PM

Sep 14 2017

morehouse added inline comments to rL313314: [MSan] Add flag to disable use-after-dtor..
Sep 14 2017, 4:56 PM
morehouse committed rL313319: [MSan] Specify use-after-dtor default value in header..
[MSan] Specify use-after-dtor default value in header.
Sep 14 2017, 4:55 PM
morehouse committed rL313314: [MSan] Add flag to disable use-after-dtor..
[MSan] Add flag to disable use-after-dtor.
Sep 14 2017, 4:16 PM
morehouse closed D37867: [MSan] Add flag to disable use-after-dtor. by committing rL313314: [MSan] Add flag to disable use-after-dtor..
Sep 14 2017, 4:16 PM
morehouse added a comment to D37860: [MSan] Enable use-after-dtor instrumentation by default..

Looking at __sanitizer_dtor_callback implementation, this change will add a (fast) stack unwind in every destructor. In extreme cases (like a tight loop doing string operations) it could be bad for performance. I've seen ~15% AFAIR.

Sep 14 2017, 4:08 PM
morehouse updated the diff for D37860: [MSan] Enable use-after-dtor instrumentation by default..
Sep 14 2017, 4:02 PM
morehouse updated the diff for D37867: [MSan] Add flag to disable use-after-dtor..
  • Use hasFlag() in CompilerInvocation.cpp as well.
Sep 14 2017, 2:44 PM
morehouse created D37867: [MSan] Add flag to disable use-after-dtor..
Sep 14 2017, 2:24 PM
morehouse added inline comments to D37860: [MSan] Enable use-after-dtor instrumentation by default..
Sep 14 2017, 1:50 PM
morehouse updated the summary of D37860: [MSan] Enable use-after-dtor instrumentation by default..
Sep 14 2017, 12:35 PM
morehouse created D37860: [MSan] Enable use-after-dtor instrumentation by default..
Sep 14 2017, 12:33 PM

Aug 30 2017

morehouse committed rL312185: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer
Aug 30 2017, 3:50 PM
morehouse closed D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer by committing rL312185: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
Aug 30 2017, 3:50 PM

Aug 29 2017

morehouse updated the summary of D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
Aug 29 2017, 5:32 PM
morehouse updated the diff for D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
  • Only enable stack depth tracking on Linux.
  • Ignore __sancov_lowest_stack in interface symbols tests.
Aug 29 2017, 5:27 PM
morehouse reopened D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
Aug 29 2017, 5:26 PM
morehouse committed rL312047: Revert "[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer".
Revert "[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer"
Aug 29 2017, 2:58 PM
morehouse committed rL312037: Re-enable stack depth instrumentation on Windows..
Re-enable stack depth instrumentation on Windows.
Aug 29 2017, 2:17 PM
morehouse committed rL312032: Disable stack depth tracking on Windows..
Disable stack depth tracking on Windows.
Aug 29 2017, 1:45 PM
morehouse committed rL312026: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer
Aug 29 2017, 12:49 PM
morehouse closed D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer by committing rL312026: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
Aug 29 2017, 12:49 PM
morehouse updated the diff for D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
  • Eliminate "#if".
  • Replace uintptr_t with uptr.
Aug 29 2017, 12:17 PM
morehouse updated the summary of D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
Aug 29 2017, 11:39 AM
morehouse updated the diff for D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
  • Disable stack depth tracking on Mac.
Aug 29 2017, 11:37 AM

Aug 28 2017

morehouse updated the diff for D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
  • Add weak definition of __sancov_lowest_stack to runtime.
Aug 28 2017, 11:18 AM

Aug 25 2017

morehouse updated the diff for D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.

Full diff.

Aug 25 2017, 3:56 PM
morehouse updated the diff for D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
  • Add weak reference in SanitizerCoverage.cpp
Aug 25 2017, 3:49 PM
morehouse reopened D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.

Turns out I should have been testing the benchmarks with FUZZING_ENGINE=fsanitize_fuzzer. My mistake.

Aug 25 2017, 3:49 PM
morehouse committed rL311803: Revert "[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer".
Revert "[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer"
Aug 25 2017, 3:02 PM
morehouse committed rL311801: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer
Aug 25 2017, 2:19 PM
morehouse closed D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer by committing rL311801: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
Aug 25 2017, 2:19 PM
morehouse updated the diff for D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
  • Use existing linear scan, and check for InvokeInst.
Aug 25 2017, 1:43 PM
morehouse added a comment to D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
In D37156#852780, @kcc wrote:

Did you check this on something other than the unit tests?
E.g. a couple of benchmarks from fuzzer-test-suite?

Aug 25 2017, 1:43 PM
morehouse created D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer.
Aug 25 2017, 11:31 AM
morehouse committed rL311781: Fix buildbot breakage from r311763. Remove unused lambda capture..
Fix buildbot breakage from r311763. Remove unused lambda capture.
Aug 25 2017, 9:21 AM

Aug 23 2017

morehouse committed rL311592: [clang-proto-fuzzer] Fix clang-proto-to-cxx build..
[clang-proto-fuzzer] Fix clang-proto-to-cxx build.
Aug 23 2017, 12:59 PM

Aug 22 2017

morehouse committed rL311490: [SanitizerCoverage] Optimize stack-depth instrumentation..
[SanitizerCoverage] Optimize stack-depth instrumentation.
Aug 22 2017, 2:31 PM
morehouse closed D37026: [SanitizerCoverage] Optimize stack-depth instrumentation. by committing rL311490: [SanitizerCoverage] Optimize stack-depth instrumentation..
Aug 22 2017, 2:31 PM
morehouse updated the summary of D37026: [SanitizerCoverage] Optimize stack-depth instrumentation..
Aug 22 2017, 2:23 PM
morehouse created D37026: [SanitizerCoverage] Optimize stack-depth instrumentation..
Aug 22 2017, 2:21 PM
morehouse abandoned D36982: [libFuzzer] Add deep recursion test..
Aug 22 2017, 9:16 AM

Aug 21 2017

morehouse created D36982: [libFuzzer] Add deep recursion test..
Aug 21 2017, 3:02 PM
morehouse committed rL311345: [clang-proto-fuzzer] Update README..
[clang-proto-fuzzer] Update README.
Aug 21 2017, 9:19 AM

Aug 18 2017

morehouse committed rL311186: [SanitizerCoverage] Add stack depth tracing instrumentation..
[SanitizerCoverage] Add stack depth tracing instrumentation.
Aug 18 2017, 11:45 AM
morehouse closed D36839: [SanitizerCoverage] Add stack depth tracing instrumentation. by committing rL311186: [SanitizerCoverage] Add stack depth tracing instrumentation..
Aug 18 2017, 11:45 AM
morehouse committed rL311185: [clang-proto-fuzzer] Allow user-specified compiler arguments..
[clang-proto-fuzzer] Allow user-specified compiler arguments.
Aug 18 2017, 11:36 AM
morehouse closed D36882: [clang-proto-fuzzer] Allow user-specified compiler arguments. by committing rL311185: [clang-proto-fuzzer] Allow user-specified compiler arguments..
Aug 18 2017, 11:36 AM
morehouse updated the diff for D36882: [clang-proto-fuzzer] Allow user-specified compiler arguments..
  • Refactor and use strcmp.
Aug 18 2017, 11:32 AM
morehouse created D36882: [clang-proto-fuzzer] Allow user-specified compiler arguments..
Aug 18 2017, 10:50 AM

Aug 17 2017

morehouse updated the summary of D36839: [SanitizerCoverage] Add stack depth tracing instrumentation..
Aug 17 2017, 2:45 PM
morehouse updated the diff for D36839: [SanitizerCoverage] Add stack depth tracing instrumentation..
  • Extract shared condition.
  • Add ATTRIBUTE_INTERFACE.
  • Rename variable to __sancov_lowest_stack.
  • Add driver test for -fsanitize-coverage=stack-depth.
Aug 17 2017, 2:44 PM