[all-commits] [llvm/llvm-project] b52b2e: Recommit "[libFuzzer] Disable implicit builtin kno...

Dokyung Song via All-commits all-commits at lists.llvm.org
Mon Jul 27 11:28:31 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b52b2e1c188072e3cbc91500cfd503fb26d50ffc
      https://github.com/llvm/llvm-project/commit/b52b2e1c188072e3cbc91500cfd503fb26d50ffc
  Author: Dokyung Song <dokyungs at google.com>
  Date:   2020-07-27 (Mon, 27 Jul 2020)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    A compiler-rt/test/fuzzer/noasan-bcmp.test
    M compiler-rt/test/fuzzer/noasan-memcmp.test
    M compiler-rt/test/fuzzer/noasan-memcmp64.test
    M compiler-rt/test/fuzzer/noasan-strcmp.test
    M compiler-rt/test/fuzzer/noasan-strncmp.test
    M compiler-rt/test/fuzzer/noasan-strstr.test

  Log Message:
  -----------
  Recommit "[libFuzzer] Disable implicit builtin knowledge about memcmp-like functions when -fsanitize=fuzzer-no-link is given."

Summary: This patch disables implicit builtin knowledge about memcmp-like functions when compiling the program for fuzzing, i.e., when -fsanitize=fuzzer(-no-link) is given. This allows libFuzzer to always intercept memcmp-like functions as it effectively disables optimizing calls to such functions into different forms. This is done by adding a set of flags (-fno-builtin-memcmp and others) in the clang driver. Individual -fno-builtin-* flags previously used in several libFuzzer tests are now removed, as it is now done automatically in the clang driver.

The patch was once reverted in 8ef9e2bf355d05bc81d8b0fe1e5333eec59a0a91, as this patch was dependent on a reverted commit f78d9fceea736d431e9e3cbca291e3909e3aa46d. This reverted commit was recommitted in 831ae45e3dc609e43ba561af07670a8fe47461ef, so relanding this dependent patch too.

Reviewers: morehouse, hctim

Subscribers: cfe-commits, #sanitizers

Tags: #clang, #sanitizers

Differential Revision: https://reviews.llvm.org/D83987




More information about the All-commits mailing list