From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1737 invoked from network); 27 Jun 2020 12:47:53 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 27 Jun 2020 12:47:53 -0000 Received: (qmail 29884 invoked by uid 550); 27 Jun 2020 12:47:46 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 26335 invoked from network); 27 Jun 2020 12:36:32 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1593261380; bh=XYu7Au6YNt9IZ4I6cqbrkrdeO6CnN3gQE+PknWKqInQ=; h=X-UI-Sender-Class:From:To:Subject:Date; b=Ik2qCysd/Kers8xOe8BFqEzbwr8dbzHeTDGJ8bkH0E2shAWmXN4coQCx533/0a/uY GjZ34gZM4zFGen/EvjhGHZmHGGbI4bs81BsElPKIcuxFXiWFFpiJfmJZu20BbarTwt 494wzl2Rivbrp2q04VKQ4XT75nkuOsd/9rnAT+Xk= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c MIME-Version: 1.0 Message-ID: From: erny hombre To: musl@lists.openwall.com Content-Type: text/plain; charset=UTF-8 Date: Sat, 27 Jun 2020 14:36:20 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K1:Cv/HoAQMXnLvW3r6BOs1OU5AxwehLhrwrP4CITyehKTqMu85PK7c+xDLPWgbgJBkJzrxl TG5EIKBgwmAalXCOHSK5en9R2XEi8qO7yvgxvW+sYOTKGrVbxYm1tgCkEqbyQxaJqI0KhJNfMkeY jCauTtk1S8yLbEgWlJb6hy4L9WdeGKVRKHf1ls5Jt+7fvOAVXBgzE0afUs8Onl8n0AgaViKfmqn0 xpYSLhuwvJ2K/oJzHxDit2iBfsVl0zlKP4y+goNC/s3t0MwCbYbaflIBDVv1YGwmTui+0nGm0agu IY= X-UI-Out-Filterresults: notjunk:1;V03:K0:vEemoE54vGo=:jFwvJalgYHGAiX7xOv85Yf AIG1W9tL/D9w5YPjOQgwQDrlcL/2+IHVsCrrqpauwy6X5Ygui3HO1SBEj5Yki88/ej/eSXWOS QPz9rx6eTmPSG6RR1H9CkPOegUhUfFDs9nf34MuJ1yuZ+6fW8tAJnsp606A8hRR1ovMmcy/Qj +bCg6Z4LBUJ6lXuAFGu5og+BSAFQmKHr7Kj5G8Iydb//G1JCxj9jS3YN+M2vkNflWatmwjppD Wp70gsKOzgxbFjBfI8mU2sUmOlm9TVeQXkrI2pkp4BhQQNnLuOzSm7kCaQsFhkG0+AC38aPhG dRM8dG7oSuDcvzueOp+bxWFpmiDKN/g2B4SzAhWpKImbbQk/mAmfhP9iFfSGZPLPmGxQpZDyE 6rzyh6orVMGJRDacdhg2KB6+/u2bo0t4eNHHhPN1PDPfvQWNI8Fm2or13qfHv6ya2fOND7YoR K1mQ872OsQDqwFZIg6lV8uUOVXPpfD8Scw+Uf7x0XArtRz1YQy8wdecFtN+qEMbwnJi8RDubW ye9oKxoE1YD5nA8r5ju0kVBN4lkCN5Xcy72kXM3C+led3hHOES3r0K9OQMjZsEZe7RZa4WgK6 p8O74icePLUuyrFasAGNejNAFxaS7SYcrNgj/iV1rRkcpTPoyecva88X8EQNRAzI8ZKvxhrCl 6yomiqwY2WTrU24Dait/RtT6U7Hu+jb4PH5JH5PjOlJgoO6ZrhArr2uHcHy73YqnZ9mE= Content-Transfer-Encoding: quoted-printable Subject: [musl] clone(),sys_clone() arguments Hello, I am writing an operating system for an ARM processor (Cortex-A9). For the= user programs I want to use musl libc. I am adding a layer between musl and my os to translate linux system calls= into native system calls. For pthread_create the syscall sys_clone is used. This syscall is not call= ed directly. The library function clone() is used instead. The arguments of clone() and the raw sys= tem call sys_clone differ: int clone(int (*fn)(void *), void *child_stack, int flags, void *arg, ... /* pid_t *ptid, struct user_desc *tls, pid_t *ctid */ ); long sys_clone(unsigned long flags, void *child_stack, void *ptid, void *c= tid, struct pt_regs *regs); Musl uses __clone to reorder clone() arguments to the arguments expected b= y sys_clone: /musl-1.2.0/src/thread/arm/clone.s: __clone: stmfd sp!,{r4,r5,r6,r7} mov r7,#120 mov r6,r3 mov r5,r0 mov r0,r2 and r1,r1,#-16 ldr r2,[sp,#16] ldr r3,[sp,#20] ldr r4,[sp,#24] svc 0 ; sys_clone system call ... I think that the last two arguments for sys_clone (r3..ctid, r4..regs) are= taken in the wrong order from the clone parameters ([sp,#20]..tls, [sp,#24]..ctid). Do I miss something or is this a bug ?