Virtual addresses below 0x8048000

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

     All Linux processes seem to be starting with the virtual address 0x8048000. As i see, this value has been hard coded in the linker script. I expected the stack/heap to be lying in the virtual address range 0 - 0x08048000. However on printing the address of a local variable, I found it to be lying towards the end of user space addresses 0xb0000000 - 0xc0000000.  Hence the stack is expected to be lying at the end of the user address space.

The heap also extends from where the bss ends.

Dynamic libraries ld-linux.so and libc.so also start from 0x40000000 onwards.

In that case, what is it that resides at addresses 0 - 0x8048000. The first page starting at 0x0 can be marked empty to prohibit usage of 0x0 as a usable address, but what about other addresses in this range?

Thanks and Regards,
Shyamal

--
Linux - because life is too short for reboots...

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux