[llvm-dev] [MTE] Tagging Globals (original) (raw)

Mitch Phillips via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 14 19:09:48 PDT 2020


Hi Zhaoshi,

Currently there's no global tagging instrumentation for MTE. We have a good idea about the implementation's design - but no patches are ready to be shared at this stage.

If you'd like - I'd be more than happy to CC yourself and Stephen on any Phabricator reviews :).

On Tue, Jul 14, 2020 at 5:04 PM Zhaoshi Zheng via llvm-dev < llvm-dev at lists.llvm.org> wrote:

Hello,

We’re evaluating memory tagging (MTE) on some internal workloads. We noticed that stack variables are tagged by an instrumentation pass and heap objects are handled by the allocator (Scudo). How about global variables? We tried a simple case using -march=armv8a+memtag -fsanitize=memtag, but found no tagging: Are we missing anything or tagging globals is still in progress? int globalarray[16]; *int main(int argc, char *argv) { * globalarray[1] = 0;* * return globalarray[argc + 16]; // BOOM* } clang++ -O1 --target=aarch64-linux -march=armv8.5a+memtag -fsanitize=memtag test.cpp -S -o test.s main: // @main .Lmain$local: // %bb.0: // %entry * adrp x8, globalarray* * add x8, x8, :lo12:globalarray* * str wzr, [x8, #4]* * add x8, x8, w0, sxtw #2* * ldr w0, [x8, #64]* * ret* .Lfuncend0: * .size main, .Lfuncend0-main*


LLVM Developers mailing list llvm-dev at lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200714/df9f006a/attachment.html>



More information about the llvm-dev mailing list