.eh_frame augmentation character for MTE stack tagging

Florian Mayer fmayer@google.com
Fri Jun 3 23:52:38 GMT 2022


We are in the process of implementing MTE (Memory Tagging Extension)
stack tagging in LLVM. To support stack tagging in combination with
exceptions, we need to make sure that the unwinder will untag stack
frames, to avoid leaving behind stale tags. As such, we need some way
to communicate to the unwinder to do that.

In a discussion on llvm-dev [1], it was decided the best way to go
forward with this would be to add a new character ('G' for taG, as the
MTE instructions stg etc.) to the eh_frame augmentation string, and
then handle that in libunwind by clearing the tags of the respective

How does that sound? Would that be a good course of action for GCC as well?


[1]: https://lists.llvm.org/pipermail/llvm-dev/2020-May/141345.html

More information about the Gcc mailing list