c460ac3a00
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. |
||
---|---|---|
.. | ||
coff.h | ||
ibcs2_dirent.h | ||
ibcs2_errno.c | ||
ibcs2_errno.h | ||
ibcs2_fcntl.c | ||
ibcs2_fcntl.h | ||
ibcs2_ioctl.c | ||
ibcs2_ioctl.h | ||
ibcs2_ipc.c | ||
ibcs2_ipc.h | ||
ibcs2_isc_syscall.h | ||
ibcs2_isc_sysent.c | ||
ibcs2_isc.c | ||
ibcs2_misc.c | ||
ibcs2_mount.h | ||
ibcs2_msg.c | ||
ibcs2_other.c | ||
ibcs2_poll.h | ||
ibcs2_proto.h | ||
ibcs2_signal.c | ||
ibcs2_signal.h | ||
ibcs2_socksys.c | ||
ibcs2_socksys.h | ||
ibcs2_stat.c | ||
ibcs2_stat.h | ||
ibcs2_statfs.h | ||
ibcs2_stropts.h | ||
ibcs2_syscall.h | ||
ibcs2_sysent.c | ||
ibcs2_sysi86.c | ||
ibcs2_sysvec.c | ||
ibcs2_termios.h | ||
ibcs2_time.h | ||
ibcs2_types.h | ||
ibcs2_unistd.h | ||
ibcs2_ustat.h | ||
ibcs2_util.c | ||
ibcs2_util.h | ||
ibcs2_utime.h | ||
ibcs2_utsname.h | ||
ibcs2_xenix_syscall.h | ||
ibcs2_xenix_sysent.c | ||
ibcs2_xenix.c | ||
ibcs2_xenix.h | ||
imgact_coff.c | ||
Makefile | ||
syscalls.conf | ||
syscalls.isc | ||
syscalls.isc.conf | ||
syscalls.master | ||
syscalls.xenix | ||
syscalls.xenix.conf |