Разборка двоичного файла ELF в системе Ubuntu x86 Я не мог не заметить, что секция кода (.text) начинается с виртуального адреса 0x8048000, и все нижние адреса памяти кажутся неиспользованными.
Это кажется довольно расточительным, и все, что появляется в Google, это либо фольклор с участием STACK_TOP , либо защита от разыменования нулевого указателя. Последний случай выглядит так, как будто его можно исправить, используя одну страницу вместо того, чтобы оставить пробел в 128 МБ.
Итак, мой вопрос заключается в следующем - есть ли окончательный ответ на вопрос, почему макет был зафиксирован для этих значений или это просто произвольный выбор?