summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2016-08-11 18:36:46 -0400
committerRich Felker <dalias@aerifal.cx>2016-08-11 18:36:46 -0400
commit7cc3a28eed7e3b72a1ce4568fb55154bb0540726 (patch)
treee26aaecd58946d49e6648a4788fbb7ddc6c1ef43 /arch/sh
parent39494a273eaa6b714e0fa0c59ce7a1f5fbc80a1e (diff)
downloadmusl-7cc3a28eed7e3b72a1ce4568fb55154bb0540726.tar.gz
musl-7cc3a28eed7e3b72a1ce4568fb55154bb0540726.tar.bz2
musl-7cc3a28eed7e3b72a1ce4568fb55154bb0540726.tar.xz
musl-7cc3a28eed7e3b72a1ce4568fb55154bb0540726.zip
fix pread/pwrite syscall calling convention on sh
despite sh not generally using register-pair alignment for 64-bit syscall arguments, there are arch-specific versions of the syscall entry points for pread and pwrite which include a dummy argument for alignment before the 64-bit offset argument.
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/syscall_arch.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sh/syscall_arch.h b/arch/sh/syscall_arch.h
index f63675a8..84758fe0 100644
--- a/arch/sh/syscall_arch.h
+++ b/arch/sh/syscall_arch.h
@@ -2,6 +2,7 @@
((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
((union { long long ll; long l[2]; }){ .ll = x }).l[1]
#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
+#define __SYSCALL_LL_PRW(x) 0, __SYSCALL_LL_E((x))
/* The extra OR instructions are to work around a hardware bug:
* http://documentation.renesas.com/doc/products/mpumcu/tu/tnsh7456ae.pdf