Добавление символов вокруг раздела отладки приводит к утрате размера двоичного файла
Я хотел бы добавить начальный и конечный символы вокруг каждого раздела отладочной информации, чтобы я мог получить к ним доступ из моей программы. Я пробовал такую схему:
.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.
Ссылка на весь скрипт ссылки. Ссылка на дамп бинарного файла без модификации скрипта ссылки, ссылка на дамп с изменениями.