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. |
||
---|---|---|
.. | ||
pc | ||
_inttypes.h | ||
_limits.h | ||
_stdint.h | ||
_types.h | ||
alpha_cpu.h | ||
asm.h | ||
atomic.h | ||
bootinfo.h | ||
bus_memio.h | ||
bus_pio.h | ||
bus.h | ||
bwx.h | ||
chipset.h | ||
clock.h | ||
clockvar.h | ||
cpu.h | ||
cpuconf.h | ||
cpufunc.h | ||
critical.h | ||
db_machdep.h | ||
elf.h | ||
endian.h | ||
exec.h | ||
float.h | ||
floatingpoint.h | ||
fpu.h | ||
frame.h | ||
ieee.h | ||
ieeefp.h | ||
in_cksum.h | ||
inst.h | ||
intr.h | ||
intrcnt.h | ||
ioctl_bt848.h | ||
ioctl_meteor.h | ||
kse.h | ||
limits.h | ||
md_var.h | ||
mutex.h | ||
pal.h | ||
param.h | ||
pcb.h | ||
pcpu.h | ||
pmap.h | ||
proc.h | ||
profile.h | ||
prom.h | ||
pte.h | ||
ptrace.h | ||
reg.h | ||
reloc.h | ||
resource.h | ||
rpb.h | ||
runq.h | ||
setjmp.h | ||
sgmap.h | ||
sigframe.h | ||
signal.h | ||
smp.h | ||
stdarg.h | ||
swiz.h | ||
sysarch.h | ||
ucontext.h | ||
varargs.h | ||
vmparam.h |