resistor wrote:

> > Reimplemented this on top of #121957
> > There is one significant behavioral change introduced for MTE, which we 
> > need to confirm is correct. For CHERI, we retained the original size in the 
> > symbol size in the ELF (i.e. excluding the tail padding from it), while the 
> > existing MTE behavior add the padding size into the symbol size. The 
> > version currently the PR uses the CHERI behavior, which seems more 
> > semantically correct to me, but I'd like to hear someone who knows MTE 
> > comment on it.
> 
> I think Morello LLVM deviated from the historic CHERI behaviour for common 
> symbols (maybe all symbols?) due to some corner cases where it wasn't ideal. 
> For almost all cases it's more helpful to have the padded size, as that's 
> what you should give as the input to cheri_setboundsexact (and would want in 
> the linker for relocations), and allows you to know that there is in fact 
> padding (so you can shout in the linker / loader if it's missing). The only 
> time it's less helpful is when you're doing linker set-like things and need 
> the size to correspond to the actual data structure. But that's probably a 
> pattern that should be discouraged (use a marker end symbol instead) and we 
> can always add some magic opt-out attribute/directive/whatever instead if 
> needed.

Alright, changed to match the existing MTE behavior.

https://github.com/llvm/llvm-project/pull/203872
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to