From owner-svn-src-projects@FreeBSD.ORG Sat Jan 30 19:20:36 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD789106568B; Sat, 30 Jan 2010 19:20:36 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 84A728FC13; Sat, 30 Jan 2010 19:20:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0UJKaDO083732; Sat, 30 Jan 2010 19:20:36 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0UJKaiL083729; Sat, 30 Jan 2010 19:20:36 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201001301920.o0UJKaiL083729@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 30 Jan 2010 19:20:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r203218 - in projects/ppc64/sys: powerpc/powerpc sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Jan 2010 19:20:36 -0000 Author: nwhitehorn Date: Sat Jan 30 19:20:36 2010 New Revision: 203218 URL: http://svn.freebsd.org/changeset/base/203218 Log: Fix argc passing in an alternative way by changing nargvstr and nenvstr to be unsigned long instead of int. This preserves argument passing conventions on sparc64, and eliminates hacks on powerpc64. Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c projects/ppc64/sys/sys/exec.h Modified: projects/ppc64/sys/powerpc/powerpc/exec_machdep.c ============================================================================== --- projects/ppc64/sys/powerpc/powerpc/exec_machdep.c Sat Jan 30 19:16:41 2010 (r203217) +++ projects/ppc64/sys/powerpc/powerpc/exec_machdep.c Sat Jan 30 19:20:36 2010 (r203218) @@ -524,9 +524,9 @@ exec_setregs(struct thread *td, u_long e * Emulate by setting the syscall return value cells. The * registers still have to be set for init's fork trampoline. */ - td->td_retval[0] = *((register_t *)(&arginfo.ps_nargvstr)); + td->td_retval[0] = arginfo.ps_nargvstr; td->td_retval[1] = (register_t)arginfo.ps_argvstr; - tf->fixreg[3] = *((register_t *)(&arginfo.ps_nargvstr)); + tf->fixreg[3] = arginfo.ps_nargvstr; tf->fixreg[4] = (register_t)arginfo.ps_argvstr; tf->fixreg[5] = (register_t)arginfo.ps_envstr; tf->fixreg[6] = 0; /* auxillary vector */ Modified: projects/ppc64/sys/sys/exec.h ============================================================================== --- projects/ppc64/sys/sys/exec.h Sat Jan 30 19:16:41 2010 (r203217) +++ projects/ppc64/sys/sys/exec.h Sat Jan 30 19:20:36 2010 (r203218) @@ -48,9 +48,9 @@ */ struct ps_strings { char **ps_argvstr; /* first of 0 or more argument strings */ - unsigned int ps_nargvstr; /* the number of argument strings */ + unsigned long ps_nargvstr; /* the number of argument strings */ char **ps_envstr; /* first of 0 or more environment strings */ - unsigned int ps_nenvstr; /* the number of environment strings */ + unsigned long ps_nenvstr; /* the number of environment strings */ }; /*