From owner-cvs-src@FreeBSD.ORG Wed Sep 24 18:10:27 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D003816A4B3; Wed, 24 Sep 2003 18:10:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3989443FF3; Wed, 24 Sep 2003 18:10:27 -0700 (PDT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h8P1ARXJ035501; Wed, 24 Sep 2003 18:10:27 -0700 (PDT) (envelope-from peter@repoman.freebsd.org) Received: (from peter@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h8P1AQ4V035500; Wed, 24 Sep 2003 18:10:26 -0700 (PDT) (envelope-from peter) Message-Id: <200309250110.h8P1AQ4V035500@repoman.freebsd.org> From: Peter Wemm Date: Wed, 24 Sep 2003 18:10:26 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/alpha/alpha elf_machdep.c src/sys/alpha/include elf.h src/sys/alpha/linux linux_sysvec.c src/sys/alpha/osf1 osf1_sysvec.c src/sys/amd64/amd64 elf_machdep.c src/sys/amd64/include elf.h src/sys/arm/include elf.h ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2003 01:10:28 -0000 peter 2003/09/24 18:10:26 PDT FreeBSD src repository Modified files: sys/alpha/alpha elf_machdep.c sys/alpha/include elf.h sys/alpha/linux linux_sysvec.c sys/alpha/osf1 osf1_sysvec.c sys/amd64/amd64 elf_machdep.c sys/amd64/include elf.h sys/arm/include elf.h sys/compat/ia32 ia32_sysvec.c ia32_util.h sys/compat/pecoff imgact_pecoff.c sys/compat/svr4 svr4_sysvec.c sys/i386/i386 elf_machdep.c sys/i386/ibcs2 ibcs2_sysvec.c sys/i386/include elf.h sys/i386/linux linux_sysvec.c sys/ia64/ia32 ia32_sysvec.c sys/ia64/ia64 elf_machdep.c sys/ia64/include elf.h sys/kern imgact_aout.c imgact_elf.c init_main.c kern_exec.c sys/powerpc/include elf.h sys/powerpc/powerpc elf_machdep.c sys/sparc64/include elf.h sys/sparc64/sparc64 elf_machdep.c sys/sys sysent.h sys/vm vm_mmap.c Log: Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit systems where the data/stack/etc limits are too big for a 32 bit process. Move the 5 or so identical instances of ELF_RTLD_ADDR() into imgact_elf.c. Supply an ia32_fixlimits function. Export the clip/default values to sysctl under the compat.ia32 heirarchy. Have mmap(0, ...) respect the current p->p_limits[RLIMIT_DATA].rlim_max value rather than the sysctl tweakable variable. This allows mmap to place mappings at sensible locations when limits have been reduced. Have the imgact_elf.c ld-elf.so.1 placement algorithm use the same method as mmap(0, ...) now does. Note that we cannot remove all references to the sysctl tweakable maxdsiz etc variables because /etc/login.conf specifies a datasize of 'unlimited'. And that causes exec etc to fail since it can no longer find space to mmap things. Revision Changes Path 1.16 +2 -1 src/sys/alpha/alpha/elf_machdep.c 1.14 +0 -12 src/sys/alpha/include/elf.h 1.91 +2 -1 src/sys/alpha/linux/linux_sysvec.c 1.11 +2 -1 src/sys/alpha/osf1/osf1_sysvec.c 1.18 +2 -1 src/sys/amd64/amd64/elf_machdep.c 1.16 +0 -12 src/sys/amd64/include/elf.h 1.4 +1 -13 src/sys/arm/include/elf.h 1.9 +64 -1 src/sys/compat/ia32/ia32_sysvec.c 1.8 +4 -0 src/sys/compat/ia32/ia32_util.h 1.32 +2 -1 src/sys/compat/pecoff/imgact_pecoff.c 1.34 +2 -1 src/sys/compat/svr4/svr4_sysvec.c 1.17 +2 -1 src/sys/i386/i386/elf_machdep.c 1.27 +2 -1 src/sys/i386/ibcs2/ibcs2_sysvec.c 1.15 +0 -12 src/sys/i386/include/elf.h 1.126 +4 -2 src/sys/i386/linux/linux_sysvec.c 1.5 +2 -1 src/sys/ia64/ia32/ia32_sysvec.c 1.14 +2 -1 src/sys/ia64/ia64/elf_machdep.c 1.11 +0 -12 src/sys/ia64/include/elf.h 1.92 +2 -1 src/sys/kern/imgact_aout.c 1.141 +8 -1 src/sys/kern/imgact_elf.c 1.237 +1 -0 src/sys/kern/init_main.c 1.226 +9 -0 src/sys/kern/kern_exec.c 1.6 +0 -12 src/sys/powerpc/include/elf.h 1.16 +2 -1 src/sys/powerpc/powerpc/elf_machdep.c 1.12 +0 -12 src/sys/sparc64/include/elf.h 1.15 +2 -1 src/sys/sparc64/sparc64/elf_machdep.c 1.43 +1 -0 src/sys/sys/sysent.h 1.166 +4 -2 src/sys/vm/vm_mmap.c