Специальные имена
В таблицу имен помещаются некоторые специальные имена, генерируемые ассемблером as(1) и другими инструментальными средствами. Эти имена перечислены в следующей таблице:
Специальное имя | Смысл |
.file | Имя файла |
.text | Адрес секции команд |
.data | Адрес секции инициализированных данных |
.bss | Адрес секции неинициализированных данных |
.bb | Адрес начала внутреннего блока |
.eb | Адрес конца внутреннего блока |
.bf | Адрес начала функции |
.ef | Адрес конца функции |
.target | Адрес структуры или объединения, возвращаемых функцией |
.xfake | Фиктивное имя структуры, объединения или перечисления |
.eos | Конец структуры, объединения или перечисления |
etext | Ближайший доступный адрес после окончания выходной секции команд |
edata | Ближайший доступный адрес после окончания выходной секции инициализированных данных |
end | Ближайший доступный адрес после окончания выходной секции неинициализированных данных |
Из перечисленных специальных имен шесть появляются парами. Имена .bb и .eb отмечают границы внутренних блоков; пара .bf и .ef
ограничивает каждую функцию. Пара .xfake и .eos именует и определяет границы непоименованных структур, объединений и перечислений. Имя .eos встречается также в конце поименованных структур, объединений и перечислений.
Для непоименованных структур, объединений и перечислений компилятор генерирует служебные имена вида .xfake, где x есть целое число. Так, если в исходном тексте встречаются три непоименованные структуры, объединения или перечисления, то они получат имена .0fake, .1fake и .2fake. В основном элементе таблицы хра- нится различная информация для различных видов имен. За основным элементом могут следовать вспомогательные.