Source-Changes-HG archive

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

[src/trunk]: src/sys/kern In topdown mode, subtract the page rounded memory s...



details:   https://anonhg.NetBSD.org/src/rev/af20112cd364
branches:  trunk
changeset: 543263:af20112cd364
user:      matt <matt%NetBSD.org@localhost>
date:      Fri Feb 21 03:53:43 2003 +0000

description:
In topdown mode, subtract the page rounded memory size of the psection,
not the rounded file size.  Otherwise if BSS needs more pages beyond
data you'll extend too far.

diffstat:

 sys/kern/exec_elf32.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r 70609ef3f9e2 -r af20112cd364 sys/kern/exec_elf32.c
--- a/sys/kern/exec_elf32.c     Fri Feb 21 03:41:52 2003 +0000
+++ b/sys/kern/exec_elf32.c     Fri Feb 21 03:53:43 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: exec_elf32.c,v 1.80 2003/02/20 22:16:07 atatat Exp $   */
+/*     $NetBSD: exec_elf32.c,v 1.81 2003/02/21 03:53:43 matt Exp $     */
 
 /*-
  * Copyright (c) 1994, 2000 The NetBSD Foundation, Inc.
@@ -64,7 +64,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: exec_elf32.c,v 1.80 2003/02/20 22:16:07 atatat Exp $");
+__KERNEL_RCSID(1, "$NetBSD: exec_elf32.c,v 1.81 2003/02/21 03:53:43 matt Exp $");
 
 /* If not included by exec_elf64.c, ELFSIZE won't be defined. */
 #ifndef ELFSIZE
@@ -281,7 +281,7 @@
        }
 
        if ((flags & (VMCMD_TOPDOWN|VMCMD_RELATIVE)) == VMCMD_TOPDOWN)
-               *addr -= round_page(*size);
+               *addr -= round_page(msize);
        if (psize > 0) {
                NEW_VMCMD2(vcset, ph->p_align < PAGE_SIZE ?
                    vmcmd_map_readvn : vmcmd_map_pagedvn, psize, *addr, vp,



Home | Main Index | Thread Index | Old Index