On Wed, Nov 18, 2020 at 6:22 AM Steven Rostedt <[email protected]> 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.