From owner-freebsd-hackers Thu Jan 11 9:42:58 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (Postfix) with ESMTP id 7451F37B402 for ; Thu, 11 Jan 2001 09:42:39 -0800 (PST) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.3/8.9.3) with ESMTP id JAA26519; Thu, 11 Jan 2001 09:42:23 -0800 (PST) (envelope-from jdp@wall.polstra.com) Received: (from jdp@localhost) by vashon.polstra.com (8.11.1/8.11.0) id f0BHgMt10004; Thu, 11 Jan 2001 09:42:22 -0800 (PST) (envelope-from jdp) Date: Thu, 11 Jan 2001 09:42:22 -0800 (PST) Message-Id: <200101111742.f0BHgMt10004@vashon.polstra.com> To: hackers@freebsd.org From: John Polstra Reply-To: hackers@freebsd.org Cc: zzhang@cs.binghamton.edu Subject: Re: Process virtual memory question In-Reply-To: References: Organization: Polstra & Co., Seattle, WA Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In article , Zhiui Zhang wrote: > Although the 4.4 BSD design and implementation book says the text > part of a process starts from 0x0000,0000, it actually starts from > some place around 0x800,0000 (or 0x8048000 to be exact). What's in > the area between 0 - 0x800,0000? Why do we not use it if it is left > empty as shown by /proc/pid/map? How is the magic number 0x8048000 > determined? Thanks. Processes used to be mapped at address 0 when we used the a.out object file format. We changed the starting address to 0x8048000 when we switched to the ELF format. That magic address came from SVR4, the first system to use ELF. I am not 100% sure why the SVR4 developers chose that address. I think it may have been so that they could map libc and the dynamic linker at the fixed address 0, thereby avoiding the need to do any run-time relocations on them. In any case, all ELF-based systems on the x86 architecture seem to use this same address. On other architecutures such as the Alpha it is entirely different, of course. John -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message