On 1/24/20 10:19 AM, Christopher Larson wrote:
What makefile change caused this? That behavior doesn't make much sense given how make processes its command-line arguments.


I agree with you here, it could be a rare check where one want to define what collect progam should be used ( ld or ar )

besides, recently we moved AR to be gcc-ar/llvm-ar by default in config metadata, which is not going to work out of box for compiling kernel and modules, so overriding it with KERNEL_AR in module_do_compile/install/configure tasks is good change.

On Thu, Jan 23, 2020 at 3:34 PM Jason Wessel <jason.wes...@windriver.com <mailto:jason.wes...@windriver.com>> wrote:

    The 5.x kernels seem to have made a change to the linker command
    line processing.

    When trying to build out of tree kernel modules, such as the
    virtualbox guest additions, the following error is printed:

    | make[1]: Entering directory
    
'/opt/build-x86-64/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.2-r0/vbox_module/vboxvideo'
    | make[3]: Entering directory
    '/opt/build-x86-64/tmp/work-shared/qemux86-64/kernel-build-artifacts'
    | make V= CONFIG_MODULE_SIG= CONFIG_MODULE_SIG_ALL= -C
    
/opt/build-x86-64/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.2-r0/5.2.28-yocto-standard/build
    
M=/opt/build-x86-64/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.2-r0/vbox_module/vboxguest
    
SRCROOT=/opt/build-x86-64/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.2-r0/vbox_module/vboxguest
    modules
    | make[3]: Entering directory
    '/opt/build-x86-64/tmp/work-shared/qemux86-64/kernel-build-artifacts'
|   LD [M] /opt/build-x86-64/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.2-r0/vbox_module/vboxvideo/vboxvideo.o
    | x86_64-poky-linux-ld.bfd: cannot find AR=x86_64-poky-linux-ar: No
    such file or directory

    The AR arguments passed to the make command are being processed as
    command line arguments to the linker due to some changes in the
    kernel's Makefile.  For now the easiest fix is to just swap the
    arguments in the module.bbclass.

    Signed-off-by: Jason Wessel <jason.wes...@windriver.com
    <mailto:jason.wes...@windriver.com>>
    ---
      meta/classes/module.bbclass | 3 +--
      1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
    index c0dfa35061..e1e5fdaa72 100644
    --- a/meta/classes/module.bbclass
    +++ b/meta/classes/module.bbclass
    @@ -38,8 +38,7 @@ module_do_compile() {
             unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
             oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
                        KERNEL_VERSION=${KERNEL_VERSION}    \
    -                  CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
    -                  AR="${KERNEL_AR}" \
    +                  CC="${KERNEL_CC}" AR="${KERNEL_AR}"
    LD="${KERNEL_LD}" \
                        O=${STAGING_KERNEL_BUILDDIR} \
                        KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \
                        ${MAKE_TARGETS}
-- 2.23.0

-- _______________________________________________
    Openembedded-core mailing list
    Openembedded-core@lists.openembedded.org
    <mailto:Openembedded-core@lists.openembedded.org>
    http://lists.openembedded.org/mailman/listinfo/openembedded-core



--
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics


--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to