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 <breadbox@xxxxxxxxxxxxxx>: >> 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-assembly" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
- References:
- why linux ELF base address is 0x8048000?
- From: pei lin
- Re: why linux ELF base address is 0x8048000?
- From: pei lin
- Re: why linux ELF base address is 0x8048000?
- From: Brian Raiter
- why linux ELF base address is 0x8048000?
- Prev by Date: Re: why linux ELF base address is 0x8048000?
- Next by Date: correct use of mfence
- Previous by thread: Re: why linux ELF base address is 0x8048000?
- Next by thread: correct use of mfence
- Index(es):