Messages in this thread | | | From | Alexei Starovoitov <> | Date | Wed, 18 Nov 2020 11:46:02 -0800 | Subject | Re: violating function pointer signature |
| |
On Wed, Nov 18, 2020 at 6:22 AM Steven Rostedt <rostedt@goodmis.org> 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.
| |