Добавление символов вокруг раздела отладки приводит к утрате размера двоичного файла

Я хотел бы добавить начальный и конечный символы вокруг каждого раздела отладочной информации, чтобы я мог получить к ним доступ из моей программы. Я пробовал такую ​​схему:

.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.

Ссылка на весь скрипт ссылки. Ссылка на дамп бинарного файла без модификации скрипта ссылки, ссылка на дамп с изменениями.

0 ответов

Другие вопросы по тегам