On 14/12/2022 16:44, Teo Couprie Diaz wrote:
Purecap breaks this assumption. As struct __kernel_sockaddr_storage is used for both Aarch64 and purecap
We shouldn't talk about AArch64 for generic code, besides it's clear this struct is used regardless of the ABI. I think pointing out that void * has an alignment of 16 in PCuABI would be more helpful.
That makes sense, I understand. Would something along the lines of the following make sense ?
Purecap breaks this assumptions as void * has an alignment of 16, rather than 8 on a 64-bits arch.
Getting there :) I'd use the longer "The pure-capability ABI" just in case, and clarify a bit arch vs ABI: on 64-bit archs, we expect an alignment of 8; without this patch, this holds for standard ABIs, but not purecap. I'm insisting on this angle because it is quite confusing out of context: the alignment we want is linked to the "word size" (32/64-bit) and it remains the same whether your ABI is purecap or not, what changes is the size of pointers.
Kevin