[llvm-dev] [MTE] Tagging Globals

Mitch Phillips via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 16 10:25:34 PDT 2020


Sure.

An outline: We're thinking of a relocation-based approach, where all
non-const global references (including globals with hidden visibility) are
through the GOT. The relocation would be an extension to GLOB_DAT, with the
addition that the dynamic loader is responsible for creating a random tag
and inserting it into the GOT entry.

For MTE, the only data we need to know at load time is the size of the
global, which would be encoded in the relocation addend.

There is a performance cost of indirecting through the GOT - but that's the
price of having fully dynamic tags.

On Thu, Jul 16, 2020 at 2:58 AM David Chisnall via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 16/07/2020 00:36, Mitch Phillips via llvm-dev wrote:
> > Not at this stage -- no.
>
> We'd also be interested in participating in this discussion.  For CHERI,
> we had to define relocations for initialising pointers that had to
> understand something about the object that they were pointing to.  There
> is probably some commonality in the requirements here.
>
> David
>
> _______________________________________________
> 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/20200716/58e32ad2/attachment.html>


More information about the llvm-dev mailing list