我正在尝试将编译器和链接器标志添加到YOCTO中的所有包中。目前,我正在machine.conf中添加:
TARGET_CFLAGS_append="-fstack protector strong-D_FORTIFY_SOURCE=2-fPIE"TARGET_LDFLAG_append="-pie-Wl,-z,now-Wl,-z,relro">
当我将"-pie"选项添加到LDFLAGS时,我会遇到这样的问题,即共享库也与"-pee"标志链接,这会导致错误。
如何在链接可执行文件时强制Yocto添加"-pie"链接器标志,而在链接库时不添加?
有一个预先存在的强化策略,它也支持PIE。你可以通过启用它
require conf/distro/include/security_flags.inc
在一个全局配置元数据文件中,例如local.conf