aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2018-07-06 19:44:49 +0000
committerEd Maste <emaste@FreeBSD.org>2018-07-06 19:44:49 +0000
commit8b159f50a001ae2185845693b0500fecd948254f (patch)
tree59deb0c4d0308121632cfaf16596c035bd7b0854 /sys/arm64
parent4d96a1b772e45b835efb87cb860ec4f540c4196d (diff)
downloadsrc-8b159f50a001ae2185845693b0500fecd948254f.tar.gz
src-8b159f50a001ae2185845693b0500fecd948254f.zip
Fix arm64 linuxulator clone() argument order
Linux/arm64 is CLONE_BACKWARDS - i.e., "Architecture has tls passed as the 4th argument of clone(2), not the 5th one." The linux clone() syscall has four different permutations of argument order, depending on architecture - see the #ifdef CONFIG_CLONE_BACKWARDS maze in Linux's kernel/fork.c. Sponsored by: Turing Robotic Industries
Notes
Notes: svn path=/head/; revision=336043
Diffstat (limited to 'sys/arm64')
-rw-r--r--sys/arm64/linux/syscalls.master4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm64/linux/syscalls.master b/sys/arm64/linux/syscalls.master
index 1b6e2ec12f52..8a0dcf6750d4 100644
--- a/sys/arm64/linux/syscalls.master
+++ b/sys/arm64/linux/syscalls.master
@@ -403,8 +403,8 @@
218 AUE_NULL STD { int linux_request_key(void); }
219 AUE_NULL STD { int linux_keyctl(void); }
220 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \
- void *parent_tidptr, void *child_tidptr, \
- void *tls); }
+ void *parent_tidptr, void *tls, \
+ void *child_tidptr); }
221 AUE_EXECVE STD { int linux_execve(char *path, char **argp, \
char **envp); }
222 AUE_MMAP STD { int linux_mmap2(l_ulong addr, l_ulong len, \