Yocto Bitbake不使用gcc修补程序

Yocto Bitbake不使用gcc修补程序,yocto,bitbake,Yocto,Bitbake,我有一个基于Yocto 1.7 Targeting ARM的发行版的情况,我想在交叉编译GCC 4.9中应用一个补丁 常规bbappend覆盖机制不适用于特殊的GCC 我有一个找到目标的gcc-cross_4.9.bbappend文件;但在其他方面,它似乎并不存在。尽管删除了所有的戳记文件以强制从do_unpack、do_patch和do_config开始重建,但该修补程序不被应用。答案是:请注意do_unpack和do_修补程序实际使用的包。它不是gcc交叉或gcc,而是gcc源代码 gcc的

我有一个基于Yocto 1.7 Targeting ARM的发行版的情况,我想在交叉编译GCC 4.9中应用一个补丁

常规bbappend覆盖机制不适用于特殊的GCC


我有一个找到目标的gcc-cross_4.9.bbappend文件;但在其他方面,它似乎并不存在。尽管删除了所有的戳记文件以强制从do_unpack、do_patch和do_config开始重建,但该修补程序不被应用。

答案是:请注意do_unpack和do_修补程序实际使用的包。它不是gcc交叉或gcc,而是gcc源代码

gcc的各个阶段和配置都共享来自gcc源虚拟包的解包步骤;如果针对具有修补程序覆盖的对象,则不会发生任何情况,因为它们都不会执行任何解包和修补步骤

它是一个gcc源代码baseName.bb文件,用于控制这些步骤


因此,我只是将.bbappend重命名为gcc源名称,它就工作了。

答案是:注意do_unpack和do_补丁实际使用的包。它不是gcc交叉或gcc,而是gcc源代码

gcc的各个阶段和配置都共享来自gcc源虚拟包的解包步骤;如果针对具有修补程序覆盖的对象,则不会发生任何情况,因为它们都不会执行任何解包和修补步骤

它是一个gcc源代码baseName.bb文件,用于控制这些步骤


因此,我只是将.bbappend重命名为gcc源代码名的目标,它起了作用。

我不知道调试这个程序花了多长时间,但一个简单的方法是执行

bitbake层显示附录| grep gcc


您将直接看到yocto是否考虑了bbappend,我不知道您调试这个程序花了多长时间,但一个简单的方法是执行

bitbake层显示附录| grep gcc


你会直接看到你的bbappend是否被yocto考虑进去

问题是,错误的bbappend被yocto考虑进去了。只是它对SRC_URI和其他东西所做的操作无关紧要。当我运行您的命令时,无论我的名字是正确的还是错误的,它都会起作用,准确地显示我已经知道的:我的gcc-whatever_4.9.bbappend与Poky的gcc-wbatever_4.9.bb配方相匹配。不管是交叉还是源头。问题是,Yocto考虑了错误的bbappend。只是它对SRC_URI和其他东西所做的操作无关紧要。当我运行您的命令时,无论我的名字是正确的还是错误的,它都会起作用,准确地显示我已经知道的:我的gcc-whatever_4.9.bbappend与Poky的gcc-wbatever_4.9.bb配方相匹配。不管是交叉还是源头。