Помещается ли что-нибудь в стек после вектора elf aux процесса в формате elf и выполняется с соглашением о вызовах SYSV
Я пишу свою собственную библиотеку libc, чтобы узнать о дизайне стандартной библиотеки POSIX C, основах компоновки, формате файла elf и различных других лишних вещах, и я написал простой crt1, который помещает argc, argv и envp в registers устанавливает библиотеку и надлежащие ссылки на простую программу на языке C.
Однако недавно я узнал о вспомогательном векторе эльфов и считаю, что мой ЭЛТ случайно сбивает вектор.
Из каких источников я прочитал, процесс при запуске должен выглядеть примерно так:
stack pointer - > argc
argv[0]
...
argv[argc]
envp[0]
...
envp[n]
auxv[0]
...
auxv[n]
Когда указатель стека равен auxv[n + 1], достиг ли он нижней части значимых данных, помещенных в стек загрузчиком?