Browse Source

fix 64-bit syscall argument passing on or1k

the kernel syscall interface for or1k does not expect 64-bit arguments
to be aligned to "even" register boundaries. this incorrect alignment
broke truncate/ftruncate and as well as a few less-common syscalls.
master
Rich Felker 12 years ago
parent
commit
de2b9c21d9
  1. 2
      arch/or1k/syscall_arch.h

2
arch/or1k/syscall_arch.h

@ -1,7 +1,7 @@
#define __SYSCALL_LL_E(x) \
((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) 0, __SYSCALL_LL_E((x))
#define __SYSCALL_LL_O(x) __SYSCALL_LL_E((x))
#define SYSCALL_MMAP2_UNIT 8192ULL

Loading…
Cancel
Save