From f0423dfad58232a891c9e5796ff59b1e56d68f7e Mon Sep 17 00:00:00 2001 From: drochner Date: Fri, 20 Feb 2004 16:14:38 +0000 Subject: [PATCH] -MID_SPARC->NETBSD32_MID_MACHINE -check for zero BSS size, as in kern/exec_aout.c rev. 1.23 --- sys/compat/netbsd32/netbsd32_exec_aout.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/sys/compat/netbsd32/netbsd32_exec_aout.c b/sys/compat/netbsd32/netbsd32_exec_aout.c index 9852b7c9c3b4..498a7664e23d 100644 --- a/sys/compat/netbsd32/netbsd32_exec_aout.c +++ b/sys/compat/netbsd32/netbsd32_exec_aout.c @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_exec_aout.c,v 1.17 2003/10/13 14:22:20 agc Exp $ */ +/* $NetBSD: netbsd32_exec_aout.c,v 1.18 2004/02/20 16:14:38 drochner Exp $ */ /* from: NetBSD: exec_aout.c,v 1.15 1996/09/26 23:34:46 cgd Exp */ /* @@ -59,7 +59,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: netbsd32_exec_aout.c,v 1.17 2003/10/13 14:22:20 agc Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_exec_aout.c,v 1.18 2004/02/20 16:14:38 drochner Exp $"); #include #include @@ -117,13 +117,13 @@ exec_netbsd32_makecmds(p, epp) midmag = mid << 16 | magic; switch (midmag) { - case (MID_SPARC << 16) | ZMAGIC: + case (NETBSD32_MID_MACHINE << 16) | ZMAGIC: error = netbsd32_exec_aout_prep_zmagic(p, epp); break; - case (MID_SPARC << 16) | NMAGIC: + case (NETBSD32_MID_MACHINE << 16) | NMAGIC: error = netbsd32_exec_aout_prep_nmagic(p, epp); break; - case (MID_SPARC << 16) | OMAGIC: + case (NETBSD32_MID_MACHINE << 16) | OMAGIC: error = netbsd32_exec_aout_prep_omagic(p, epp); break; default: @@ -182,9 +182,10 @@ netbsd32_exec_aout_prep_zmagic(p, epp) VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE); /* set up command for bss segment */ - NEW_VMCMD(&epp->ep_vmcmds, vmcmd_map_zero, execp->a_bss, - epp->ep_daddr + execp->a_data, NULLVP, 0, - VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE); + if (execp->a_bss > 0) + NEW_VMCMD(&epp->ep_vmcmds, vmcmd_map_zero, execp->a_bss, + epp->ep_daddr + execp->a_data, NULLVP, 0, + VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE); return (*epp->ep_esch->es_setup_stack)(p, epp); }