[all-commits] [llvm/llvm-project] 5b4dda: [dfsan] Add full fast8 support

George Balatsouras via All-commits all-commits at lists.llvm.org
Mon Jun 7 17:21:48 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5b4dda550ece353bd9dca703067a740e3dbf6ceb
      https://github.com/llvm/llvm-project/commit/5b4dda550ece353bd9dca703067a740e3dbf6ceb
  Author: George Balatsouras <gbalats at google.com>
  Date:   2021-06-07 (Mon, 07 Jun 2021)

  Changed paths:
    M clang/docs/DataFlowSanitizer.rst
    M clang/docs/DataFlowSanitizerDesign.rst
    M compiler-rt/include/sanitizer/dfsan_interface.h
    M compiler-rt/lib/dfsan/dfsan.cpp
    M compiler-rt/lib/dfsan/dfsan.h
    M compiler-rt/lib/dfsan/dfsan_flags.inc
    M compiler-rt/lib/dfsan/dfsan_platform.h
    M compiler-rt/lib/fuzzer/dataflow/DataFlow.cpp
    M compiler-rt/test/dfsan/atomic.cpp
    M compiler-rt/test/dfsan/basic.c
    M compiler-rt/test/dfsan/custom.cpp
    R compiler-rt/test/dfsan/dump_labels.c
    M compiler-rt/test/dfsan/event_callbacks.c
    R compiler-rt/test/dfsan/fast16labels.c
    A compiler-rt/test/dfsan/fast8labels.c
    M compiler-rt/test/dfsan/flags.c
    M compiler-rt/test/dfsan/flush.c
    M compiler-rt/test/dfsan/fncall.c
    M compiler-rt/test/dfsan/fork.cpp
    M compiler-rt/test/dfsan/interceptors.c
    R compiler-rt/test/dfsan/label_count.c
    M compiler-rt/test/dfsan/origin_add_label.c
    M compiler-rt/test/dfsan/origin_branch.c
    M compiler-rt/test/dfsan/origin_disabled.c
    M compiler-rt/test/dfsan/origin_invalid.c
    M compiler-rt/test/dfsan/origin_ld_lost.c
    M compiler-rt/test/dfsan/origin_ldst.c
    M compiler-rt/test/dfsan/origin_limit.c
    M compiler-rt/test/dfsan/origin_memcpy.c
    M compiler-rt/test/dfsan/origin_memmove.c
    M compiler-rt/test/dfsan/origin_memset.c
    M compiler-rt/test/dfsan/origin_overlapped.c
    M compiler-rt/test/dfsan/origin_set_label.c
    M compiler-rt/test/dfsan/origin_stack_trace.c
    M compiler-rt/test/dfsan/origin_track_ld.c
    M compiler-rt/test/dfsan/origin_unaligned_memtrans.c
    M compiler-rt/test/dfsan/origin_untainted.c
    M compiler-rt/test/dfsan/origin_with_sigactions.c
    M compiler-rt/test/dfsan/origin_with_signals.cpp
    M compiler-rt/test/dfsan/pair.cpp
    M compiler-rt/test/dfsan/propagate.c
    M compiler-rt/test/dfsan/pthread.c
    M compiler-rt/test/dfsan/release_shadow_space.c
    M compiler-rt/test/dfsan/sigaction.c
    M compiler-rt/test/dfsan/sigaction_stress_test.c
    M compiler-rt/test/dfsan/struct.c
    M compiler-rt/test/fuzzer/dataflow.test
    M compiler-rt/test/fuzzer/only-some-bytes-fork.test
    M compiler-rt/test/fuzzer/only-some-bytes.test
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/test/Instrumentation/DataFlowSanitizer/abilist.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/abilist_aggregate.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/arith.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/array.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/atomics.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/basic.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/call.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/dont_combine_offset_labels_on_gep.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/external_mask.ll
    R llvm/test/Instrumentation/DataFlowSanitizer/fast16labels.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/load.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/musttailcall.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_abilist.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_cached_shadows.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_call.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_load.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_mem_intrinsic.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_other_ops.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_phi.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_select.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_store.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_store_threshold.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/origin_track_load.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/phi.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/select.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/shadow-args-zext.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/store.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/struct.ll
    R llvm/test/Instrumentation/DataFlowSanitizer/union-large.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/union.ll
    M llvm/test/Instrumentation/DataFlowSanitizer/vector.ll

  Log Message:
  -----------
  [dfsan] Add full fast8 support

Complete support for fast8:
- amend shadow size and mapping in runtime
- remove fast16 mode and -dfsan-fast-16-labels flag
- remove legacy mode and make fast8 mode the default
- remove dfsan-fast-8-labels flag
- remove functions in dfsan interface only applicable to legacy
- remove legacy-related instrumentation code and tests
- update documentation.

Reviewed By: stephan.yichao.zhao, browneee

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




More information about the All-commits mailing list