AARCH64 text start address: why so low?

Matt Thomas matt@3am-software.com
Tue Jan 21 03:46:00 GMT 2014


As I was looking at the aarch64 text start address for Linux, I 
wondered why it defaulted to 4MB (well within the first 4GB) instead 
of (like alpha, mips64 elf, sparc64, hppa64, etc.) defaulting to a
starting address at or above 4GB.

Given there is a minimum of 39 address bits (512GB) of address space,
skipping first 4 GB shouldn't be a problem.

The reason for putting the text start above 4GB is to easily find
address truncation errors (loading a 32-bit pointer will quickly
cause a SEGV).



More information about the Binutils mailing list