[all-commits] [llvm/llvm-project] 825b3c: [ASan] Improve qemu-alpha shadow mapping (#201861)

Matt Turner via All-commits all-commits at lists.llvm.org
Sat Jun 6 22:52:16 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 825b3c71ecdc2f1eee9a5d46180532d3b9a12a67
      https://github.com/llvm/llvm-project/commit/825b3c71ecdc2f1eee9a5d46180532d3b9a12a67
  Author: Matt Turner <mattst88 at gmail.com>
  Date:   2026-06-06 (Sat, 06 Jun 2026)

  Changed paths:
    M compiler-rt/lib/asan/asan_allocator.h
    M compiler-rt/lib/asan/asan_mapping.h

  Log Message:
  -----------
  [ASan] Improve qemu-alpha shadow mapping (#201861)

With a 1T fixed shadow offset the usable app memory is split between
LowMem (0-1T) and HighMem (1.5T-4T). This works on real Alpha hardware
where all addresses stay within TASK_SIZE (4T). However, under
qemu-alpha user mode mmap(NULL) returns addresses from the host x86-64
address space (~127T), outside both regions, causing AddrIsInMem() CHECK
failures in PoisonShadow.

Switch to a fixed shadow offset of 0x70000000000 (7 TiB). TASK_SIZE is
well below the shadow offset so HighMem is empty: kHighMemBeg =
MEM_TO_SHADOW(kHighMemEnd) + 1 > kHighMemEnd. All app memory fits in
LowMem [0, 7T), a simpler layout with no HighMem split. On qemu-alpha,
-R 0x80000000000 constrains guest mappings to [0, 8T), keeping them
within LowMem.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list