[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