A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://lists.llvm.org/pipermail/llvm-dev/2020-July/143399.html below:

[llvm-dev] [MTE] Tagging Globals

[llvm-dev] [MTE] Tagging GlobalsZhaoshi Zheng via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 14 17:04:24 PDT 2020
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 global_array[16];

int main(int argc, char **argv) {
  global_array[1] = 0;
  return global_array[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, global_array
        add     x8, x8, :lo12:global_array
        str     wzr, [x8, #4]
        add     x8, x8, w0, sxtw #2
        ldr     w0, [x8, #64]
        ret
.Lfunc_end0:
        .size   main, .Lfunc_end0-main

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200715/568346a0/attachment.html>
More information about the llvm-dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4