From owner-svn-src-head@freebsd.org Sun Sep 18 17:23:54 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7792ABE0248; Sun, 18 Sep 2016 17:23:54 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4A31679C; Sun, 18 Sep 2016 17:23:54 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8IHNri2020263; Sun, 18 Sep 2016 17:23:53 GMT (envelope-from ed@FreeBSD.org) Received: (from ed@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8IHNr4a020262; Sun, 18 Sep 2016 17:23:53 GMT (envelope-from ed@FreeBSD.org) Message-Id: <201609181723.u8IHNr4a020262@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ed set sender to ed@FreeBSD.org using -f From: Ed Schouten Date: Sun, 18 Sep 2016 17:23:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r305938 - head/sys/contrib/cloudabi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Sep 2016 17:23:54 -0000 Author: ed Date: Sun Sep 18 17:23:53 2016 New Revision: 305938 URL: https://svnweb.freebsd.org/changeset/base/305938 Log: Fix badly computed register/stack offset of system call output arguments. Bugs in the Python code used to generate this vDSO caused us to miscompute the register numbers/stack offsets at which addresses of the system call output arguments were stored. Together with some other patches, this vDSO allows us to make all of the cloudlibc unit tests pass. Obtained from: https://github.com/NuxiNL/cloudabi Modified: head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S Modified: head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S ============================================================================== --- head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S Sun Sep 18 16:34:40 2016 (r305937) +++ head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S Sun Sep 18 17:23:53 2016 (r305938) @@ -48,11 +48,10 @@ ENTRY(cloudabi_sys_clock_res_get) END(cloudabi_sys_clock_res_get) ENTRY(cloudabi_sys_clock_time_get) - str r3, [sp, #-4] mov ip, #1 swi 0 - ldr r2, [sp, #-4] bcs 1f + ldr r2, [sp, #0] str r0, [r2, 0] str r1, [r2, 4] mov r0, $0 @@ -227,7 +226,7 @@ ENTRY(cloudabi_sys_file_open) mov ip, #21 swi 0 bcs 1f - ldr r2, [sp, #12] + ldr r2, [sp, #8] str r0, [r2] mov r0, $0 1: @@ -249,7 +248,7 @@ ENTRY(cloudabi_sys_file_readlink) mov ip, #23 swi 0 bcs 1f - ldr r2, [sp, #8] + ldr r2, [sp, #4] str r0, [r2] mov r0, $0 1: @@ -367,7 +366,7 @@ ENTRY(cloudabi_sys_poll_fd) mov ip, #40 swi 0 bcs 1f - ldr r2, [sp, #12] + ldr r2, [sp, #8] str r0, [r2] mov r0, $0 1: