Date: Wed, 24 Sep 2003 18:10:26 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org 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 ... Message-ID: <200309250110.h8P1AQ4V035500@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309250110.h8P1AQ4V035500>