6.2 Memory layout

Loaded programs are loaded at address 0, and they are free to allocate themselves at nearby offsets.

ld.so and entities like stacks, anonymous memory regions, and others, will be randomized on load time following ASLR, and must not be relied upon. It is up to ld.so to optionally place additionally loaded libraries at random offsets.

The stack is a fixed 128 KiB in size, and is not executable, by default.