Hi, In the file glibc/sysdeps/mach/hurd/x86/trampoline.c lines 199..204
#ifdef __x86_64__ /* Align SP at 16 bytes. Coupled with the fact that sigreturn_addr is 16-byte aligned within the stackframe struct, this ensures that it ends up on a 16-byte aligned address, as required by the ABI. */ sigsp = (void *) ((uintptr_t) sigsp & 16UL); #endif make no sense to me. After this statement, sigsp is either 0x0000000000000000 or 0x0000000000000010. If aligning SP is intended, the line should read sigsp = (void *) ((uintptr_t) sigsp & -16UL); Bruno