mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-25 16:13:17 +00:00
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. |
||
---|---|---|
.. | ||
amd64_mem.c | ||
amd64-gdbstub.c | ||
apic_vector.S | ||
atomic.c | ||
autoconf.c | ||
bios.c | ||
busdma_machdep.c | ||
cpu_switch.S | ||
critical.c | ||
db_disasm.c | ||
db_interface.c | ||
db_trace.c | ||
dump_machdep.c | ||
elf_machdep.c | ||
exception.S | ||
fpu.c | ||
genassym.c | ||
identcpu.c | ||
in_cksum.c | ||
initcpu.c | ||
legacy.c | ||
locore.S | ||
machdep.c | ||
mem.c | ||
mp_machdep.c | ||
mpboot.S | ||
mptable.c | ||
nexus.c | ||
pmap.c | ||
prof_machdep.c | ||
sigtramp.S | ||
support.S | ||
sys_machdep.c | ||
trap.c | ||
tsc.c | ||
vm_machdep.c |