On Wed, Nov 18, 2020 at 6:22 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > Thus, all functions will be non-variadic in these cases. That's not the only case where it will blow up. Try this on sparc: struct foo { int a; }; struct foo foo_struct(void) { struct foo f = {}; return f; } int foo_int(void) { return 0; } or this link: https://godbolt.org/z/EdM47b Notice: jmp %i7+12 The function that returns small struct will jump to a different instruction in the caller. I think none of the tracepoints return structs and void foo(void) is fine on x86. Just pointing out that it's more than just variadic.