[all-commits] [llvm/llvm-project] 8160d4: [Sanitizer][Darwin] Support OS versions before DRI...

Fangrui Song via All-commits all-commits at lists.llvm.org
Mon Aug 8 12:40:21 PDT 2022


  Branch: refs/heads/release/15.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 8160d4a2a9518696ca151fd0315769fceb022e0d
      https://github.com/llvm/llvm-project/commit/8160d4a2a9518696ca151fd0315769fceb022e0d
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2022-08-08 (Mon, 08 Aug 2022)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h

  Log Message:
  -----------
  [Sanitizer][Darwin] Support OS versions before DRIVERKIT

Fixes https://github.com/llvm/llvm-project/issues/56960

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

(cherry picked from commit 9ec4ddd224f400e2ec309fa513904525c059cc1e)


  Commit: 4acca1b014ece0073fd33c384b86b7a29dd3df9d
      https://github.com/llvm/llvm-project/commit/4acca1b014ece0073fd33c384b86b7a29dd3df9d
  Author: Fangrui Song <i at maskray.me>
  Date:   2022-08-08 (Mon, 08 Aug 2022)

  Changed paths:
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  [ELF] mergeCmp: work around irreflexivity bug

Some tests (e.g. aarch64-feature-pac.s) segfault in libstdc++ _GLIBCXX_DEBUG
builds (enabled by LLVM_ENABLE_EXPENSIVE_CHECKS).

dyn_cast<ThunkSection> is incorrectly true for any SyntheticSection. std::merge
transitively calls mergeCmp(x, x) (due to __glibcxx_requires_irreflexive_pred)
and will segfault in `ta->getTargetInputSection()`. The dyn_cast<ThunkSection>
issue should be eventually fixed properly, bug `a != b` is robust enough for now.

(cherry picked from commit abd9807590fc10eb92eb22aea7b50dbf08db7e9d)


Compare: https://github.com/llvm/llvm-project/compare/22dc722d6d7c...4acca1b014ec


More information about the All-commits mailing list