https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14441
Rich Felker <bugdal at aerifal dot cx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugdal at aerifal dot cx --- Comment #11 from Rich Felker <bugdal at aerifal dot cx> --- I've hit what seems to be this same issue on x86_64 with minimal test case: long g(void); int f(void) { return g(); } It's actually really annoying because it causes all of the intended tail-call handling of syscall returns in musl to be non-tail calls since __syscall_ret returns long (needed for a few syscalls) but most thin syscall-wrapper functions return int. If the x86_64 version is not this same issue but something separate I can open a new bug for it.