about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/hppa/syscall.c
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2015-08-07 11:54:19 -0400
committerMike Frysinger <vapier@gentoo.org>2015-08-08 22:56:01 -0400
commit04ece7d2dec91fe870c5f1a38032875915f44633 (patch)
tree997d8611dc83135e6fdc6518b5697e27ec50e901 /sysdeps/unix/sysv/linux/hppa/syscall.c
parenta601b74d31ca086de38441d316a3dee24c866305 (diff)
downloadglibc-04ece7d2dec91fe870c5f1a38032875915f44633.tar.gz
glibc-04ece7d2dec91fe870c5f1a38032875915f44633.tar.xz
glibc-04ece7d2dec91fe870c5f1a38032875915f44633.zip
hppa: Fix miscompilation of sched_setaffinity() [BZ #18480]
The attached change fixes the miscompilation of sched_setaffinity() on
hppa.  This is an old problem that was fixed on other architectures using
a similar approach to the attached change.  See:
https://sourceware.org/ml/libc-hacker/2004-04/msg00016.html

Build tested on trunk.  Patch has been applied to debian glibc for some time.
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa/syscall.c')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/syscall.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/syscall.c b/sysdeps/unix/sysv/linux/hppa/syscall.c
index aff67a8521..958fa47b1b 100644
--- a/sysdeps/unix/sysv/linux/hppa/syscall.c
+++ b/sysdeps/unix/sysv/linux/hppa/syscall.c
@@ -43,9 +43,10 @@ syscall (long int __sysno, ...)
   va_end (args);
 
   {
+    LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
     register unsigned long int __res asm("r28");
     PIC_REG_DEF
-    LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
+    LOAD_REGS_6
     asm volatile (SAVE_ASM_PIC
 		  "	ble  0x100(%%sr2, %%r0)	\n"
 		  "	copy %1, %%r20		\n"