Мне нужно получить начальный и конечный адрес исполняемого текстового раздела. Как я могу получить его?
Я могу получить начальный адрес из символа _init
или _start
, но как насчет конечного адреса? Должен ли я считать конечный адрес раздела text
последним адресом перед началом раздела .rodata
?
Или мне нужно изменить значение по умолчанию ld script и добавить свои собственные символы, чтобы указать начало и конец текстового раздела, и передать его в GCC при компиляции? В этом случае, где я должен поместить новые символы, я должен рассмотреть секцию init и fini?
Каков хороший способ получить начальный и конечный адрес текстового раздела?