[all-commits] [llvm/llvm-project] 9f492a: [MIPS] Fix the ASAN shadow offset hook for the N32...

dmilosevic141 via All-commits all-commits at lists.llvm.org
Wed Jul 6 03:45:01 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9f492a9ae5cf9fc9d89c9da837cdb652207a2d6e
      https://github.com/llvm/llvm-project/commit/9f492a9ae5cf9fc9d89c9da837cdb652207a2d6e
  Author: Dimitrije Milosevic <dimitrije.milosevic at syrmia.com>
  Date:   2022-07-06 (Wed, 06 Jul 2022)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [MIPS] Fix the ASAN shadow offset hook for the N32 ABI

Currently, LLVM doesn't have the correct shadow offset
mapping for the n32 ABI.
This patch introduces the correct shadow offset value
for the n32 ABI - 1ULL << 29.

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


  Commit: 5d8077565e4196efdd4ed525a64c11a96d5aa5dd
      https://github.com/llvm/llvm-project/commit/5d8077565e4196efdd4ed525a64c11a96d5aa5dd
  Author: Dimitrije Milosevic <dimitrije.milosevic at syrmia.com>
  Date:   2022-07-06 (Wed, 06 Jul 2022)

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

  Log Message:
  -----------
  [MIPS] Resolve issues in building ASAN for N32 ABI

Building the compiler-rt's AddressSanitizer for
the n32 MIPS ABI currently fails, due to a few reasons:

    - defined(__mips64), which is set solely based on
    the architecture type (32-bit/64-bit), was still used
    in some places. Therefore, defined(__mips64) is swapped
    with SANITIZER_MIPS64, which takes the ABI into account
    as well - defined(__mips64) && _MIPS_SIM == ABI64.
    - The n32 ABI still uses 64-bit *Linux* system calls,
    even though the word size is 32 bits.
    - After the transition to canonical system calls (D124212),
    the n32 ABI still didn't use them, even though they
    are supported.

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


Compare: https://github.com/llvm/llvm-project/compare/73440ca9f878...5d8077565e41


More information about the All-commits mailing list