On Fri Jun 13, 2025 at 10:32 AM CEST, Peter Zijlstra wrote: > On Fri, Jun 13, 2025 at 10:26:37AM +0200, Alexis Lothoré wrote: >> Hi Peter, >> >> On Fri Jun 13, 2025 at 10:11 AM CEST, Peter Zijlstra wrote: >> > On Fri, Jun 13, 2025 at 09:37:11AM +0200, Alexis Lothoré (eBPF Foundation) >> > wrote:
[...] >> Maybe my commit wording is not precise enough, but indeed, there's not >> doubt about whether the struct value is passed on the stack or through a >> register/a pair of registers. The doubt is rather about the struct location >> when it is passed _by value_ and _on the stack_: the ABI indeed clearly >> states that "Structures and unions assume the alignment of their most >> strictly aligned component" (p.13), but this rule is "silently broken" when >> a struct has an __attribute__((packed)) or and __attribute__((aligned(X))), >> and AFAICT this case can not be detected at runtime with current BTF info. > > Ah, okay. So it is a failure of BTF. That was indeed not clear. If I need to respin, I'll rewrite the commit message to include the details above. Alexis -- Alexis Lothoré, Bootlin Embedded Linux and Kernel engineering https://bootlin.com