On Sat, Jan 10, 2015 at 12:52:40PM +0000, Daniel Sanders wrote: > The problem is that clang doesn't honour named registers on local variables > and silently treats them as normal uninitialized variables. However, it > does honour them on global variables. Older versions of <asm/unistd.h> which have been copied into some userland packages are using some local register variables in syscall wrappers. These syscall wrappers have historically been a pain because every once in a while they got broken by a new GCC release or other issues. If you're lucky that has been resolved by the maintainers of those external software packages - the only way to be certain is the review ... At least the kernel does no longer do syscalls. Ralf