extern void test(void); void tailcall(int *a) { *a = __return_address(); test(); } void simple(int *a) { *a = __return_address(); } void normal(int *a) { test(); *a = __return_address(); }