Мой вопрос основан на этой крошечной программе stkaddr.cpp:
#include int main(int argc, char *argv[]) { printf("&argc = %p\n", &argc); } Используя Visual Studio 2019, я знаю, что могу использовать параметр компоновщика /DYNAMICBASE:NO, чтобы иметь инвариантный (постоянный) адрес локальной переменной при каждом запуске. Может быть, мы назовем это «нет ASLR».

При использовании /DYNAMICBASE:NO при каждом запуске exe мы видим один и тот же адрес для &argc.
Тогда я хотел бы спросить, как я могу добиться этого для программы Linux, скомпилированной gcc.
В Ubuntu Linux 20.04 с gcc 9.4.0 я пробовал -no-pie, но безрезультатно.
