CHERIoT-Platform / llvm-project

Fork of LLVM adding CHERIoT, based on the CHERI LLVM fork
4 stars 6 forks source link

Add type attributes (and wire them through name mangling) for sealed types #5

Open davidchisnall opened 1 year ago

davidchisnall commented 1 year ago

Currently, we use void* for all sealed types. We should be able to write [[cheriot::sealed]] struct T * and propagate the type through the rest of the system.

All operations on sealed types other than an explicit cast should fail. The token_unseal function will take a [[cheriot::sealed]] void* and return a void*, but it is written in assembly.