Секция данных только для чтения, также известная как .rodata
, генерируется после последнего шага всех проходов rtl.Вы можете увидеть, как это работает, в файле varasm.c, который лежит в папке /gcc
.Посмотрите на раздел
section *
default_function_rodata_section (tree decl)
и ниже.Вы также можете легко добавить некоторые функции для перехвата данных в файл asm
или другой выходной файл здесь или написать внешнюю функцию.
varasm.c
файл обрабатывает генерацию всего кода ассемблера , кроме инструкция функции.Это включает объявления переменных и их начальные значения.