[all-commits] [llvm/llvm-project] c5978f: UBSAN: emit distinctive traps

Tim Northover via All-commits all-commits at lists.llvm.org
Tue Dec 8 02:28:52 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c5978f42ec8e9f7fa62a38510343440485752ec5
      https://github.com/llvm/llvm-project/commit/c5978f42ec8e9f7fa62a38510343440485752ec5
  Author: Tim Northover <t.p.northover at gmail.com>
  Date:   2020-12-08 (Tue, 08 Dec 2020)

  Changed paths:
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
    M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
    M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
    M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
    M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
    M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
    M clang/test/CodeGen/catch-implicit-integer-truncations.c
    M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
    M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
    M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/cfi-check-fail.c
    M clang/test/CodeGen/cfi-check-fail2.c
    M clang/test/CodeGen/sanitize-trap.c
    M clang/test/CodeGen/trapv.c
    A clang/test/CodeGen/ubsan-trap-debugloc.c
    M clang/test/CodeGen/unsigned-trapv.c
    M clang/test/CodeGenCXX/cfi-cast.cpp
    M clang/test/CodeGenCXX/cfi-mfcall.cpp
    M clang/test/CodeGenCXX/trap-fnattr.cpp
    M clang/test/CodeGenCXX/type-metadata.cpp
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrSystem.td
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    A llvm/test/CodeGen/AArch64/ubsantrap.ll
    A llvm/test/CodeGen/X86/ubsantrap.ll

  Log Message:
  -----------
  UBSAN: emit distinctive traps

Sometimes people get minimal crash reports after a UBSAN incident. This change
tags each trap with an integer representing the kind of failure encountered,
which can aid in tracking down the root cause of the problem.




More information about the All-commits mailing list