Date: Sun, 7 Feb 1999 15:49:57 -0800 (PST) From: John Polstra <jdp@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/alpha/include elf.h src/sys/i386/include elf.h src/sys/kern imgact_elf.c Message-ID: <199902072349.PAA78531@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jdp 1999/02/07 15:49:56 PST Modified files: sys/alpha/include elf.h sys/i386/include elf.h sys/kern imgact_elf.c Log: Change the load address of the ELF dynamic linker from "2L*MAXDSIZ" to an architecture-specific value defined in <machine/elf.h>. This solves problems on large-memory systems that have a high value for MAXDSIZ. The load address is controlled by a new macro ELF_RTLD_ADDR(vmspace). On the i386 it is hard-wired to 0x08000000, which is the standard SVR4 location for the dynamic linker. On the Alpha, the dynamic linker is loaded MAXDSIZ bytes beyond the start of the program's data segment. This is the same place a userland mmap(0, ...) call would put it, so it ends up just below all the shared libraries. The rationale behind the calculation is that it allows room for the data segment to grow to its maximum possible size. These changes have been tested on the i386 for several months without problems. They have been tested on the Alpha as well, though not for nearly as long. I would like to merge the changes into 3.1 within a week if no problems have surfaced as a result of them. Revision Changes Path 1.6 +13 -1 src/sys/alpha/include/elf.h 1.6 +11 -1 src/sys/i386/include/elf.h 1.53 +2 -2 src/sys/kern/imgact_elf.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902072349.PAA78531>