【问题标题】:Yocto Dunfell how to set Compiler Flags to '-Os' GloballyYocto Dunfell 如何在全球范围内将编译器标志设置为“-Os”
【发布时间】:2021-02-16 03:45:56
【问题描述】:

我正在使用 Yocto(Dunfell 分支)为我的 ARM 板生成一个工作 Linux 系统映像。

rootfs 占用的空间非常宝贵,我正在努力缩小图像。

我想尝试使用 GCC '-Os' 标志来优化空间。我想为我的实验全局设置它。我在演示文稿 (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”编译器优化标志全局添加到我的项目中?谢谢。

【问题讨论】:

    标签: linux arm embedded yocto bitbake


    【解决方案1】:

    必须将全局选项添加到全局配置文件之一。
    对于测试,这通常是 conf/local.conf。 您只需要添加您实际更改的变量,因为 bitbake 使用对变量值的惰性求值。

    配方文件中的变量仅影响该配方的任务。这意味着您在图像配方中所做的任何事情都不会影响其他配方中的任务的完成方式。

    【讨论】:

      猜你喜欢
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      相关资源
      最近更新 更多