[PATCH] D137013: [LoongArch][ASAN] Instrumentation pass now uses proper shadow offset

Youling Tang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 29 02:05:49 PDT 2022


tangyouling added inline comments.


================
Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:109
 static const uint64_t kAArch64_ShadowOffset64 = 1ULL << 36;
+static const uint64_t kLoongArch64_ShadowOffset64 = 1ULL << 46;
 static const uint64_t kRISCV64_ShadowOffset64 = 0xd55550000;
----------------
xen0n wrote:
> I might be missing on something, how is the offset value derived?
> I might be missing on something, how is the offset value derived?


in compiler-rt/lib/asan/asan_mapping.h,
```
// Default Linux/LoongArch64 (47-bit VMA) mapping:
// || `[0x500000000000, 0x7fffffffffff]` || HighMem    ||
// || `[0x4a0000000000, 0x4fffffffffff]` || HighShadow ||
// || `[0x480000000000, 0x49ffffffffff]` || ShadowGap  ||
// || `[0x400000000000, 0x47ffffffffff]` || LowShadow  ||
// || `[0x000000000000, 0x3fffffffffff]` || LowMem     ||
```
We're going to get an offset for `LowShadow`


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137013/new/

https://reviews.llvm.org/D137013



More information about the llvm-commits mailing list