Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/kern The ELF ABI declares that argc must fill an `argume...



details:   https://anonhg.NetBSD.org/src/rev/1a03a76f109c
branches:  trunk
changeset: 495356:1a03a76f109c
user:      mycroft <mycroft%NetBSD.org@localhost>
date:      Wed Jul 26 15:42:09 2000 +0000

description:
The ELF ABI declares that argc must fill an `argument slot'.  Make it so.
For __sparc_v9__ only, do a hack to make old executables continue to work --
for now.

diffstat:

 sys/kern/kern_exec.c |  10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diffs (25 lines):

diff -r c38973053a2d -r 1a03a76f109c sys/kern/kern_exec.c
--- a/sys/kern/kern_exec.c      Wed Jul 26 15:40:07 2000 +0000
+++ b/sys/kern/kern_exec.c      Wed Jul 26 15:42:09 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_exec.c,v 1.115 2000/07/13 02:33:36 matt Exp $     */
+/*     $NetBSD: kern_exec.c,v 1.116 2000/07/26 15:42:09 mycroft Exp $  */
 
 /*-
  * Copyright (C) 1993, 1994, 1996 Christopher G. Demetriou
@@ -593,9 +593,13 @@
        char *dp, *sp;
        size_t len;
        void *nullp = NULL;
-       int argc = arginfo->ps_nargvstr;
-       int envc = arginfo->ps_nenvstr;
+       long argc = arginfo->ps_nargvstr;
+       long envc = arginfo->ps_nenvstr;
 
+#ifdef __sparc_v9__
+       /* XXX Temporary hack for argc format conversion. */
+       argc = (argc << 32) | (argc & 0xffffffff);
+#endif
        if (copyout(&argc, cpp++, sizeof(argc)))
                return NULL;
 



Home | Main Index | Thread Index | Old Index