GithubHelp home page GithubHelp logo

linux: QA issues about meta-sunxi HOT 11 CLOSED

linux-sunxi avatar linux-sunxi commented on June 17, 2024
linux: QA issues

from meta-sunxi.

Comments (11)

naguirre avatar naguirre commented on June 17, 2024

For the debug file, they could be shipped with the -dbg package if it exists. It seems to be relative to files specific to sunxi. So it make sense to add these files to linux-dbg package.
For the second issue, i don't see a way to fix it. It seems that it's a check on firmware binairies. So the best option here is what you said, add insane skip.

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024

I tried adding the following in recipes-kernel/linux/linux_3.4.bb:

INSANE_SKIP_${PN} = "ld-flags"   #should skip GNU HASH warnings
FILES_${PN}-dbg += "/usr/src/debug"  #should fix debug warnings

However, this does not seem to work?

Also, I am actually surprised we would need to add the debug line, as bitbake.conf [1] already seems to take care of this:

DOTDEBUG-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
            ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${BPN}/.debug \
            ${libdir}/matchbox-panel/.debug /usr/src/debug"

DEBUGFILEDIRECTORY-dbg = "/usr/lib/debug /usr/src/debug"

FILES_${PN}-dbg = "${@d.getVar(['DOTDEBUG-dbg', 'DEBUGFILEDIRECTORY-dbg'][d.getVar('PACKAGE_DEBUG_SPLIT_STYLE', True) == 'debug-file-directory'], True)}"

What am I missing?

Note that I believe the GNU_HASH warnings should actually be fixed upstream by adding --hash-style=gnu to the compiler flags; I propose to only fix the debug warnings, and to not skip the GNU_HASH warnings for now.

[1] http://cgit.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf

from meta-sunxi.

ebutera avatar ebutera commented on June 17, 2024

I didn't check the source code but i think *-dbg only looks for binary files, can you try with FILES_${PN}-dev ?

But probably those files shouldn't be there, from openembedded-core kernel.bbclass:

.Define where the kernel headers are installed on the target as well as where
.they are staged.
KERNEL_SRC_PATH = "/usr/src/kernel"
....
FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}"

Can you check if it's really sunxi specific (only those sunxi files are installed in /usr/src/debug) or the full tree is there and it's just sunxi files that are not picked by some FILES_${PN}....?

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024

It appears that this is really sunxi specific - only the files listed in the QA warning are installed in /usr/src/debug:

kristof@test:~/OE/oe-core/build/tmp-eglibc/work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/package/usr/src/debug$ tree
.
└── linux
    └── 3.4.67-14
        └── git
            ├── arch
            │   └── arm
            │       ├── include
            │       │   └── asm
            │       │       └── hwcap.h
            │       └── mach-sun7i
            │           ├── include
            │           │   └── mach
            │           │       └── ccmu.h
            │           └── pm
            │               ├── mem_divlibc.h
            │               ├── mem_timing.h
            │               ├── mem_tmr.h
            │               ├── pm_debug.h
            │               ├── pm.h
            │               ├── pm_types.h
            │               └── standby
            │                   ├── common.c
            │                   ├── common.h
            │                   ├── dram.c
            │                   ├── dram_init.c
            │                   ├── mem_delay.S
            │                   ├── mem_divlibc.c
            │                   ├── mem_divlib.S
            │                   ├── mem_int.c
            │                   ├── mem_int.h
            │                   ├── mem_mmu_pc_asm.S
            │                   ├── mem_printk.c
            │                   ├── mem_serial.c
            │                   ├── mem_timing.c
            │                   ├── pm_debug.c
            │                   ├── standby.c
            │                   ├── standby_clock.c
            │                   ├── standby_clock.h
            │                   ├── standby_delay.S
            │                   ├── standby_ir.c
            │                   ├── standby_ir.h
            │                   ├── standby_key.c
            │                   ├── standby_key.h
            │                   ├── standby_power.c
            │                   ├── standby_power.h
            │                   ├── standby_tmr.c
            │                   ├── standby_tmr.h
            │                   ├── standby_twi.c
            │                   ├── standby_twi.h
            │                   ├── standby_usb.c
            │                   └── standby_usb.h
            └── include
                └── linux
                    ├── kernel.h
                    ├── power
                    │   └── aw_pm.h
                    └── printk.h

15 directories, 41 files

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024

I didn't check the source code but i think *-dbg only looks for binary files, can you try with FILES_${PN}-dev

Tried, doesnt help.

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024
FILES_kernel-dev += "/usr/src/debug"

does work though.

For the GNU_HASH issue, I also tried adding "ld-flags" to the existing insane skip line - but that doesnt seem to work:

INSANE_SKIP_kernel-dev = "debug-files debug-deps arch ld-flags"

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024

OK, turns out I should be using ldflags rather than ld-flags.

I.e. adding the following to recipes-kernel/linux/linux_3.4.bb works to get rid of all the QA warnings mentioned in this thread:

INSANE_SKIP_kernel-dev = "debug-files debug-deps arch ldflags"
FILES_kernel-dev += "/usr/src/debug"

Is this also the right way of "solving" it?

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024

For reference, adding the QA issues suppressed by the other INSANE_SKIPS (already there):

arch:

linux-3.4.67: Architecture did not match (40 to 62) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/drivers/net/wireless/rtxx7x/tools/bin2h
linux-3.4.67: Architecture did not match (40 to 62) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/ar6302/AR6K_SDK_ISC.build_3.1_RC.329/host/lib/wac/wac
linux-3.4.67: Architecture did not match (40 to 62) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/ar6302/AR6K_SDK_ISC.build_3.1_RC.329/host/tools/pal_host_intf/pal_app
linux-3.4.67: Architecture did not match (40 to 62) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/nano-c047.12/obj/hic-proxy
linux-3.4.67: Architecture did not match (40 to 1573) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/nano-c047.12/obj/x_mac_4.69.axf
linux-3.4.67: Architecture did not match (40 to 1573) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/nano-c047.12/obj/x_mac_patch_4_65.axf
linux-3.4.67: Architecture did not match (40 to 1573) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/nano-c047.12/obj/x_mac_4.66.axf
linux-3.4.67: Architecture did not match (40 to 1573) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/nano-c047.12/obj/x_mac-v4.68.axf
linux-3.4.67: Architecture did not match (40 to 1573) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/nano-c047.12/obj/x_mac.axf
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/wl
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/socket_noasd/x86/wl_server_socket
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/wifi_noasd/x86/wl_server_serial
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/wifi_noasd/x86/wl_server_wifi
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/make/wl
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/make/socket_noasd/x86/wl_server_socket
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/make/wifi_noasd/x86/wl_server_serial
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/make/wifi_noasd/x86/wl_server_wifi
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/make/dongle_noasd/x86/wl_server_dongle
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/open-src/src/wl/exe/dongle_noasd/x86/wl_server_dongle
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/apps/tc_cli
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/apps/wfa_ca
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/apps/dhd
linux-3.4.67: Architecture did not match (40 to 3) on /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/modules/wifi/bcm40181/apps/ca_cli

debug-deps
None in my configuration.
Is there any need for this in other configurations?

debug-files

linux-3.4.67: non debug package contains .debug directory: kernel-dev path /work/cubieboard2-oe-linux-gnueabi/linux/3.4.67-14/packages-split/kernel-dev/usr/src/kernel/arch/arm/mach-sun7i/pm/standby/.debug/standby.elf

from meta-sunxi.

naguirre avatar naguirre commented on June 17, 2024

I don't need this myself, so i think you can open a pull request with your fix.

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024

Rather than using the INSANE_SKIPs, I propose to simply remove those problematic files in a do_configure_prepend step. This has the advantage that it makes those issues directly visible (so people are aware), and avoids shipping those problematic files (which might lead to issues when used).

It also has the advantage that we are not skipping any sanity checks.

I'll prepare a pull request along those lines.

from meta-sunxi.

KristofRobot avatar KristofRobot commented on June 17, 2024

OK, I managed to get rid of all errors without using any INSANE_SKIPs:

(1) To get rid of the arch and ldflag issues, I removed the offending files during do_configure_prepend

(2) To get rid of the usr/src/debug files not shipped, I enabled INHIBIT_PACKAGE_DEBUG_SPLIT.

All comments welcome.

Pull request launched.

from meta-sunxi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.