Что такое DW_AT код 0x05?Не найдено в стандарте DWARF - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть код в файле elf с информацией о дварфах, созданной компилятором tricore-gcc из HighTec.Он содержит атрибут dwarf с кодировкой 0x05, который не упоминается в стандартной версии 4, которая читает

DW_AT_sibling 0x01, ссылку DW_AT_location 0x02 exprloc, loclistptr DW_AT_name 0x03, строка DW_AT_ordering 0x09 константа

и в стандартной версии 5это "зарезервировано".Не нашел его ни в одном более старом стандарте.

Кто-нибудь знает, что такое коэффициент 0x05?

1 Ответ

0 голосов
/ 02 июня 2019

Он был частью DWARF1, см. dwarf.h из libdwarf:

#define DW_AT_sibling                           0x01
#define DW_AT_location                          0x02
#define DW_AT_name                              0x03
/* reserved DWARF1                              0x04, DWARF1 only */
/* AT_fund_type                                 0x05, DWARF1 only */
/* AT_mod_fund_type                             0x06, DWARF1 only */
/* AT_user_def_type                             0x07, DWARF1 only */
/* AT_mod_u_d_type                              0x08, DWARF1 only */
#define DW_AT_ordering                          0x09
#define DW_AT_subscr_data                       0x0a

А в соответствии с DWARF 1.1 , AT_fund_type означает Основные типы :

Фундаментальный тип - это тип данных, который не определяется в терминах другие типы данных. Каждый язык программирования имеет набор фундаментальных типы, которые считаются встроенными в этот язык.

...