4 ms·
Does -fsanitize=memtag already work with RISC-V CHERI? https://github.com/CHERI-Alliance/llvm-project https://github.com/CHERI-Alliance/llvm-project : > Codas
by westurner 11mo ago
Does -fsanitize=memtag already work with RISC-V CHERI?
https://github.com/CHERI-Alliance/llvm-project https://github.com/CHERI-Alliance/llvm-project :
> Codasip LLVM compiler can be checked out from the codasip-cheri-riscv branch
/? "codasip-cheri-riscv" llvm https://www.google.com/search?q=%22codasip-cheri-riscv%22+llvm https://www.google.com/search?q=%22codasip-cheri-riscv%22+ll...
codasip-cheri-riscv fork of LLVM:
https://github.com/CHERI-Alliance/llvm-project/tree/codasip-cheri-riscv https://github.com/CHERI-Alliance/llvm-project/tree/codasip-...
What is the command to diff this against the commit of LLVM that it was forked from and against the LLVM main branch?
- westurner 11mo agoLinks to the source for ARM MTE support in the LLVM / LLDB -fsanitize=memtag sanitizer: lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp : https://github.com/llvm/llvm-project/blob/main/lldb/source/Plugins/Process/Utility/MemoryTagManagerAArch64MTE.cpp https://github.com/llvm/llvm-project/blob/main/lldb/source/P... lldb/source/Target/MemoryTagMap.cpp: https://github.com/llvm/llvm-project/blob/main/lldb/source/Target/MemoryTagMap.cpp https://github.com/llvm/llvm-project/blob/main/lldb/source/T... , lldb/unittests/Target/MemoryTagMapTest.cpp: https://github.com/llvm/llvm-project/blob/main/lldb/unittests/Target/MemoryTagMapTest.cpp https://github.com/llvm/llvm-project/blob/main/lldb/unittest... lldb/test/API/linux/aarch64/mte_*: https://github.com/llvm/llvm-project/tree/main/lldb/test/API/linux/aarch64 https://github.com/llvm/llvm-project/tree/main/lldb/test/API... clang/test/Driver/aarch64-mte.c: https://github.com/llvm/llvm-project/blob/main/clang/test/Driver/aarch64-mte.c https://github.com/llvm/llvm-project/blob/main/clang/test/Dr... clang/unittests/Driver/SanitizerArgsTest.cpp looks thin: https://github.com/llvm/llvm-project/blob/main/clang/unittests/Driver/SanitizerArgsTest.cpp https://github.com/llvm/llvm-project/blob/main/clang/unittes... SanitizerArgs.cpp: https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/SanitizerArgs.cpp https://github.com/llvm/llvm-project/blob/main/clang/lib/Dri... llvm/docs/MemTagSanitizer.rst: https://github.com/llvm/llvm-project/blob/main/llvm/docs/MemTagSanitizer.rst https://github.com/llvm/llvm-project/blob/main/llvm/docs/Mem... : -fsanitize=memtag -fsanitize-memtag-mode= -f[no-]sanitize-memory-track-origins[=level] -march=armv8+memtag
- westurner 11mo agoLLVM docs > MemTagSanitizer > Heap Tagging: https://llvm.org/docs/MemTagSanitizer.html#heap-tagging https://llvm.org/docs/MemTagSanitizer.html#heap-tagging : > Heap Tagging: Note: this part is not implemented as of Oct 2019. > MemTagSanitizer will use Scudo Hardened Allocator with additional code to update memory tags when LLVM docs > Scudo Hardened Allocator: https://llvm.org/docs/ScudoHardenedAllocator.html https://llvm.org/docs/ScudoHardenedAllocator.html : > The Scudo Hardened Allocator is a user-mode allocator, originally based on LLVM Sanitizers’ CombinedAllocator. It aims at providing additional mitigation against heap based vulnerabilities, while maintaining good performance. Scudo is currently the default allocator in Fuchsia, and in Android since Android 11 compiler-rt/lib/scudo/standalone: https://github.com/llvm/llvm-project/tree/main/compiler-rt/lib/scudo/standalone https://github.com/llvm/llvm-project/tree/main/compiler-rt/l... hardened_malloc is an alternative to scudo.