Я хотел бы добавить начальный и конечный символы вокруг каждого раздела отладочной информации, чтобы я мог получить к ним доступ из своей программы.Я попробовал следующую схему:
.debug.info ALIGN(4K) : {
DEBUG_INFO_START = .;
*(.debug.info)
DEBUG_INFO_END = .;
}
.debug.abbrev ALIGN(4K) : {
DEBUG_ABBREV_START = .;
*(.debug.abbrev)
DEBUG_ABBREV_END = .;
}
/* etc. */
Но это приводит к увеличению размера каждого раздела (включая .text, .rodata и т. Д.) И получающегося двоичного файла в три раза.Что может быть причиной этого?Как видно из дампов ниже, информация об отладке включена в обоих случаях, так что это не является причиной увеличения размера.
Я использую Zig и LLVM toolchain.
Ссылка на весь скрипт ссылки. Ссылка на дамп двоичного файла без изменений скрипта ссылки, ссылка на дамп с модификациями.