Re: why linux ELF base address is 0x8048000?
pei lin <[email protected]> Fri, 6 Feb 2009 13:38:54 +0800
| Newsgroups | org.kernel.vger.linux-assembly |
|---|---|
| Message-ID | <[email protected]> |
yeah,that explains some reason. But between 0x08000000 and 0x08048000 should be some other reason for X86 architecture . <<The linker and loader>> said that "permitting most programs to use a single second-level page table." But i can not understand it very well. Lin 2009/2/5 Brian Raiter <[email protected]>: >> why linux ELF base address is 0x8048000? we can use ld to change >> the base address or linker script.BUT why default is 0x8048000? >> There must be some reasons or history i don't know. > > As far as I can tell, the reason is that this was the address used by > SVR4, which was the first release of Unix to use ELF executables. > > The reason that SVR4 chose that particular address is that the stack > top was located at 0x08000000 (growing downward, of course), and then > the area between 0x08000000 and 0x08048000 was reserved for libc and > possibly other system service code. > > b >