DEBUG_FLAGS в Yocto всегда используется - PullRequest
0 голосов
/ 30 ноября 2018

Я пытался собрать свою программу через Yocto и столкнулся с проблемой большого размера исполняемого файла.После некоторого расследования я обнаружил, что моя программа была собрана с флагом GCC -g (выдает информацию об отладке).Оказалось, этот флаг установлен в файле bitbake.conf:

DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}"

# Disabled until the option works properly -feliminate-dwarf2-dups
FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}"
DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe"
SELECTED_OPTIMIZATION = "${@d.getVar(oe.utils.vartrue('DEBUG_BUILD', 'DEBUG_OPTIMIZATION', 'FULL_OPTIMIZATION', d))}"

Таким образом, флаг -g используется в каждой сборке, разница не определена, переменная DEBUG_BUILD не определена или нет.Единственный обходной путь, который я нашел, - это установить ${DEBUG_FLAGS} = " " в рецепте моей программы.

Итак, мой вопрос: есть ли лучшие решения?И нормально ли, что все пакеты в Yocto собираются с флагом отладки?Похоже, это решение для переполнения, особенно для встраиваемых устройств.

1 Ответ

0 голосов
/ 30 ноября 2018

См. Комментарии @Parthiban.В сущности, проблем нет.

...