c - mmap an address very unlikely to be used by any other part of the program -
for reason, want allocate block of memory mmap
using fixed address, is, map_fixed
. want use address unlikely used other part of program (heap, stack etc). such address range work 64 bit system?
linux attempt load elf executables @ address specified in executable, anywhere in 64-bit address space. unless give linker special options, however, build executables load @ low addresses (generally 0x0000000000400000
), , use memory reasonable densely (there gaps between read-only , read-write sections), default heap coming afterwards.
linux uses addresses in range 0x00007fff00000000
-0x00007fffffffffff
stack , 0x00007f0000000000
-0x00007ffeffffffff
shared libraries. reserves 0x8000000000000000
-0xffffffffffffffff
kernel.
so means below 0x00007f0000000000
, above end of heap free, range 0x0000800000000000
-0x7fffffffffffffff
. likely, because allocations above defaults changeable if configure kernel or linker different.
Comments
Post a Comment