[all-commits] [llvm/llvm-project] c9f5b5: [MTE] Disable all MTE protection of globals in sec...

Mitch Phillips via All-commits all-commits at lists.llvm.org
Mon Jan 22 02:55:51 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c9f5b5c935bd12d76d4bafff61d8116cb3229972
      https://github.com/llvm/llvm-project/commit/c9f5b5c935bd12d76d4bafff61d8116cb3229972
  Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/memtag-globals-asm.cpp
    M llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp

  Log Message:
  -----------
  [MTE] Disable all MTE protection of globals in sections (#78443)

Previous work in this area (#70186) disabled MTE in constructor
sections. Looks like I missed one, ".preinit_array".

Also, in the meantime, I found an exciting feature in the linker where
globals placed into an explicit section, where the section name is a
valid C identifer, gets an implicit '__start_<sectionname>' and
'__stop_<sectionname>' symbol as well. This is convenient for iterating
over some globals, but of course iteration over differently-tagged
globals in MTE explodes.

Thus, disable MTE globals for anything that has a section.




More information about the All-commits mailing list