Yocto Dunfell 如何在全局范围内将编译器标志设置为“-Os”
Yocto Dunfell how to set Compiler Flags to '-Os' Globally
我正在使用 Yocto(Dunfell 分支)为我的 ARM 开发板生成一个有效的 Linux 系统映像。
Space 被rootfs占用了,我正在努力缩小镜像。
我想试验 GCC '-Os' 标志,以针对 space 进行优化。我想为我的实验在全球范围内设置它。我在演示文稿 ( https://pretalx.com/yocto-project-summit-2020/talk/AY37HF/ ) 中找到以下信息:
我将以下内容添加到我的 image_0.1.bb 文件中。但是,我没有看到任何包中使用了“-Os”优化标志。
# Disabled until the option works properly -feliminate-dwarf2-dups
FULL_OPTIMIZATION = "-Os -pipe ${DEBUG_FLAGS}"
DEBUG_OPTIMIZATION = "-Og ${DEBUG_FLAGS} -pipe"
SELECTED_OPTIMIZATION = "${@d.getVar(oe.utils.vartrue('DEBUG_BUILD', 'DEBUG_OPTIMIZATION', 'FULL_OPTIMIZATION', d))}"
代码是否正确?如果正确,我应该将此代码放在哪里?如果不正确,我如何将“-Os”编译器优化标志全局添加到我的项目中?谢谢
必须将全局选项添加到全局配置文件之一。
对于测试,这通常是 conf/local.conf。
您只需要添加您实际更改的变量,因为 bitbake 使用变量值的惰性评估。
配方文件中的变量只影响该配方的任务。这意味着您在图像配方中所做的任何事情都不会影响其他配方中任务的完成方式。
我正在使用 Yocto(Dunfell 分支)为我的 ARM 开发板生成一个有效的 Linux 系统映像。
Space 被rootfs占用了,我正在努力缩小镜像。
我想试验 GCC '-Os' 标志,以针对 space 进行优化。我想为我的实验在全球范围内设置它。我在演示文稿 ( https://pretalx.com/yocto-project-summit-2020/talk/AY37HF/ ) 中找到以下信息:
我将以下内容添加到我的 image_0.1.bb 文件中。但是,我没有看到任何包中使用了“-Os”优化标志。
# Disabled until the option works properly -feliminate-dwarf2-dups
FULL_OPTIMIZATION = "-Os -pipe ${DEBUG_FLAGS}"
DEBUG_OPTIMIZATION = "-Og ${DEBUG_FLAGS} -pipe"
SELECTED_OPTIMIZATION = "${@d.getVar(oe.utils.vartrue('DEBUG_BUILD', 'DEBUG_OPTIMIZATION', 'FULL_OPTIMIZATION', d))}"
代码是否正确?如果正确,我应该将此代码放在哪里?如果不正确,我如何将“-Os”编译器优化标志全局添加到我的项目中?谢谢
必须将全局选项添加到全局配置文件之一。
对于测试,这通常是 conf/local.conf。
您只需要添加您实际更改的变量,因为 bitbake 使用变量值的惰性评估。
配方文件中的变量只影响该配方的任务。这意味着您在图像配方中所做的任何事情都不会影响其他配方中任务的完成方式。