GCC 4.8 поддерживает DWARF4. Мне интересно, в чем разница между DWARF4 и DWARF2 с точки зрения пользователя.
Давайте посмотрим на это с точки зрения GDB. Есть ли какая-то разница для пользователей при переходе на DWARF4?
Я нашел Дом Гномов Страница, но, насколько я вижу, в Интернете нигде нет информации о разнице от пользователя POV.
Можете ли вы указать мне эти различия?
Первая версия DWARF, как оказалось, использовала чрезмерные объемы хранилища, DWARF-2, заменила его и добавила различные схемы кодирования для уменьшения размера данных, позднее — версию 4 DWARF, которая предлагает улучшенное сжатие данных, лучшее описание оптимизированного кода и поддержку для новых возможностей языка в C ++.
Обычно в примечаниях к выпуску или в анонсе обобщаются эти различия (их будет гораздо больше)
Карлик 4 стандарт На странице перечислены основные улучшения, спецификация перечисляет их более подробно.
Суть в том, что для большинства пользователей лучше поддержка оптимизированного кода, поддержка большего количества языков (в основном в Dwarf 3) и поддержка новых языковых конструкций C ++
Я хотел бы добавить, что не все версии GDB могут правильно читать dwarf4. Я часто ловлю себя на компиляции -gdwarf-2
просто чтобы иметь возможность видеть все символы. Например, с gdb 7.2 я не могу прочитать все символы в смешанной сборке Fortran-C, если я использую dwarf4, в то время как я могу с dwarf2.