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
