On Wed, May 17, 2023 at 10:08 PM Xiangyu Chen <xiangyu.c...@eng.windriver.com> wrote: > > > On 5/17/23 22:35, Bruce Ashfield wrote: > > CAUTION: This email comes from a non Wind River email account! > > Do not click links or open attachments unless you recognize the sender and > > know the content is safe. > > > > On Wed, May 17, 2023 at 8:32 AM Bruce Ashfield via > > lists.openembedded.org > > <bruce.ashfield=gmail....@lists.openembedded.org> wrote: > >> On Wed, May 17, 2023 at 1:24 AM Xiangyu Chen > >> <xiangyu.c...@eng.windriver.com> wrote: > >>> > >>> On 5/17/23 09:35, Xiangyu Chen wrote: > >>>> On 5/16/23 20:55, Bruce Ashfield wrote: > >>>>> CAUTION: This email comes from a non Wind River email account! > >>>>> Do not click links or open attachments unless you recognize the > >>>>> sender and know the content is safe. > >>>>> > >>>>> On Tue, May 16, 2023 at 4:56 AM Xiangyu Chen > >>>>> <xiangyu.c...@eng.windriver.com> wrote: > >>>>>> Hi Bruce, > >>>>>> > >>>>>> > >>>>>> On 5/15/23 21:11, Bruce Ashfield wrote: > >>>>>>> CAUTION: This email comes from a non Wind River email account! > >>>>>>> Do not click links or open attachments unless you recognize the > >>>>>>> sender and know the content is safe. > >>>>>>> > >>>>>>> On Mon, May 15, 2023 at 8:34 AM Bruce Ashfield via > >>>>>>> lists.openembedded.org > >>>>>>> <bruce.ashfield=gmail....@lists.openembedded.org> wrote: > >>>>>>>> On Mon, May 15, 2023 at 6:04 AM Xiangyu Chen > >>>>>>>> <xiangyu.c...@eng.windriver.com> wrote: > >>>>>>>>> Hi Bruce, > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Sorry for being late.. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On 5/13/23 09:16, Bruce Ashfield wrote: > >>>>>>>>> > >>>>>>>>> CAUTION: This email comes from a non Wind River email account! > >>>>>>>>> Do not click links or open attachments unless you recognize the > >>>>>>>>> sender and know the content is safe. > >>>>>>>>> > >>>>>>>>> On Fri, May 12, 2023 at 10:47 AM Bruce Ashfield via > >>>>>>>>> lists.openembedded.org > >>>>>>>>> <bruce.ashfield=gmail....@lists.openembedded.org> wrote: > >>>>>>>>> > >>>>>>>>> On Wed, May 10, 2023 at 10:23 PM Xiangyu Chen > >>>>>>>>> <xiangyu.c...@eng.windriver.com> wrote: > >>>>>>>>> > >>>>>>>>> Hi Richard and Bruce, > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Thanks for your suggestion, > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On 5/11/23 00:25, Bruce Ashfield wrote: > >>>>>>>>> > >>>>>>>>> CAUTION: This email comes from a non Wind River email account! > >>>>>>>>> Do not click links or open attachments unless you recognize the > >>>>>>>>> sender and know the content is safe. > >>>>>>>>> > >>>>>>>>> On Wed, May 10, 2023 at 12:16 PM Richard Purdie > >>>>>>>>> <richard.pur...@linuxfoundation.org> wrote: > >>>>>>>>> > >>>>>>>>> On Mon, 2023-05-08 at 09:33 +0800, Xiangyu Chen wrote: > >>>>>>>>> > >>>>>>>>> From: Xiangyu Chen <xiangyu.c...@windriver.com> > >>>>>>>>> > >>>>>>>>> after enable the kernel CONFIG_DEBUG_INFO_BTF in devshell, the > >>>>>>>>> make would report some > >>>>>>>>> errors due to pahole and elfuitls is missing, since this is a > >>>>>>>>> debug option, so conditionally > >>>>>>>>> add an option named "btf" in KERNEL_DEBUG_OPTIONS, if someone > >>>>>>>>> need enable CONFIG_DEBUG_INFO_BTF > >>>>>>>>> option in devshell, they can add KERNEL_DEBUG_OPTIONS += "btf" in > >>>>>>>>> local.conf to solve the pahole > >>>>>>>>> and elfutils dependency. > >>>>>>>>> > >>>>>>>>> Is this a defined workflow somewhere? Is KERNEL_DEBUG_OPTIONS > >>>>>>>>> with this > >>>>>>>>> option documented somewhere? > >>>>>>>>> > >>>>>>>>> I also think the mention of devshell in the commit message is > >>>>>>>>> misleading, this issue happens regardless of how you enable the > >>>>>>>>> option. > >>>>>>>>> There are also other ways of enabling this than local.conf, you'd > >>>>>>>>> likely not want people doing that at the end of development. > >>>>>>>>> > >>>>>>>>> I'm curious on Bruce's opinion but to me this at the very least > >>>>>>>>> needs a > >>>>>>>>> commit message rewrite and I'd question whether the docs elsewhere > >>>>>>>>> would allow someone to discover this workflow anyway. > >>>>>>>>> > >>>>>>>>> I missed this entirely, thanks for replying to it, or I never would > >>>>>>>>> have noticed. > >>>>>>>>> > >>>>>>>>> This mechanism isn't appropriate for these dependencies. I only > >>>>>>>>> added > >>>>>>>>> it to work around pkgconfig issues (which we can more cleanly > >>>>>>>>> solve in > >>>>>>>>> newer kernels (see what I've been doing with make-mod-scripts) > >>>>>>>>> .. so > >>>>>>>>> it can eventually be dropped). > >>>>>>>>> > >>>>>>>>> We are already enabling elfutils-native conditionally on a > >>>>>>>>> per-architecture basis (currently only x86-64). > >>>>>>>>> > >>>>>>>>> If we need it on more arches now, we should enable it in the version > >>>>>>>>> specific recipes, or actually, we have moved far enough into newer > >>>>>>>>> kernel's that it could be in the .inc now. > >>>>>>>>> > >>>>>>>>> This commit's background was some kernel debug options needs > >>>>>>>>> elfutils > >>>>>>>>> and pahole native package, since the issue happens on enabling > >>>>>>>>> kernel > >>>>>>>>> debug options and not all people needs it, so I conditionally add > >>>>>>>>> the > >>>>>>>>> dependency in KERNEL_DEBUG_OPTION. > >>>>>>>>> > >>>>>>>>> If possible we can enable it in .inc because newer kernel tools > >>>>>>>>> like btf > >>>>>>>>> are support using pkg-config to locate the libelf instead of > >>>>>>>>> finding it > >>>>>>>>> from /usr/ folder, so we can use elfutils-natvie instead of > >>>>>>>>> installing > >>>>>>>>> elfutils package on host PC. > >>>>>>>>> > >>>>>>>>> Similarly, we should enable the pahole-native dependency on a > >>>>>>>>> per-arch basis. > >>>>>>>>> > >>>>>>>>> As Richard mentioned, what's the reproducer to see the errors ? it > >>>>>>>>> must be more than devshell. > >>>>>>>>> > >>>>>>>>> Yes, this happens on devshell and normal world if some kernel debug > >>>>>>>>> options are enabled. We can reproduce this issue with following > >>>>>>>>> steps(I > >>>>>>>>> have found the issue with kernel 5.15): > >>>>>>>>> > >>>>>>>>> 1. enable kernel option CONFIG_DEBUG_KERNEL CONFIG_DEBUG_INFO and > >>>>>>>>> CONFIG_DEBUG_INFO_BTF > >>>>>>>>> > >>>>>>>>> 2. build the kernel image, the compiler would report missing > >>>>>>>>> libelf.h > >>>>>>>>> and gelf.h which contains in elfutils-native(this step not > >>>>>>>>> happens on > >>>>>>>>> x86-64 due to it has been enabled). > >>>>>>>>> > >>>>>>>>> 3. enable elfutils-native by manual, the kernel source code can be > >>>>>>>>> compiled successfully but failed in final step due to missing > >>>>>>>>> pahole. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> If you can follow up with the steps to reproduce, I can take on the > >>>>>>>>> refactoring and broader dependency cleanup question, since I can > >>>>>>>>> test > >>>>>>>>> the wider matrix at the same time. > >>>>>>>>> > >>>>>>>>> Thanks, my local setup might missing some corner case, this is > >>>>>>>>> another > >>>>>>>>> reason I enable those native packages limit in > >>>>>>>>> KERNEL_DEBUG_OPTION :). > >>>>>>>>> > >>>>>>>>> I've been thinking about this, and I've come to the following > >>>>>>>>> suggestion: > >>>>>>>>> > >>>>>>>>> I plan on moving the elfutils-native to linux-yocto.inc, out of the > >>>>>>>>> version specific > >>>>>>>>> recipes. I'll also drop the architecture specific nature of the > >>>>>>>>> current DEPENDS. > >>>>>>>>> The need for this is much more common now, and all of the > >>>>>>>>> reference kernels > >>>>>>>>> in master are new enough. The elfutils-native build dependency is > >>>>>>>>> not > >>>>>>>>> significant > >>>>>>>>> enough to worry about adding it for all architectures. If it does > >>>>>>>>> become a problem, > >>>>>>>>> there are options to make it conditional again. > >>>>>>>>> > >>>>>>>>> I can drop the HOST_LIBELF_LIBS work around in the > >>>>>>>>> linux-yocto.inc, as > >>>>>>>>> we can now properly detect libelf via pkg-config. I didn't need > >>>>>>>>> it in any of > >>>>>>>>> my testing. Again, if this proves to be wrong, I'd enable it in a > >>>>>>>>> different way now > >>>>>>>>> (using what I've learned from fixing make-mod-scripts). > >>>>>>>>> > >>>>>>>>> As for the pahole-native dependency, there's been a "developer" > >>>>>>>>> kernel-type > >>>>>>>>> for quite some time. The design intention behind it was to enable > >>>>>>>>> options like > >>>>>>>>> this, and not make the "standard" or "production" kernel's too > >>>>>>>>> large by default. > >>>>>>>>> So the dependency could be conditional on that kernel type ... > >>>>>>>>> but we don't > >>>>>>>>> want to break other kernels just because they've enabled that > >>>>>>>>> option. We also > >>>>>>>>> don't (and won't) get into the game of looking for individual > >>>>>>>>> options in the > >>>>>>>>> .config to enable something, since a) it is too late b) it is a > >>>>>>>>> moving target. > >>>>>>>>> > >>>>>>>>> So that leaves the following options: a) enable pahole-native > >>>>>>>>> unconditionally > >>>>>>>>> on the arches that support it (x86-64, aarch64) (and also move > >>>>>>>>> the pahole > >>>>>>>>> recipe into oe-core) b) make the KERNEL_DEBUG_OPTIONS less specific, > >>>>>>>>> and simply call it KERNEL_DEBUG, when enabled, we could > >>>>>>>>> conditionally > >>>>>>>>> add pahole-native (I'd also submit documentation for the > >>>>>>>>> functionality > >>>>>>>>> c) something I haven't thought about ... > >>>>>>>>> > >>>>>>>>> I'm moving on the implementation now, but will adjust course if > >>>>>>>>> there's something > >>>>>>>>> I've missed. > >>>>>>>>> > >>>>>>>>> I have my implementation done, but I'm wondering what your > >>>>>>>>> configuration > >>>>>>>>> was for testing pahole ? > >>>>>>>>> > >>>>>>>> My reply will be hard to read, as plain text reply to the html > >>>>>>>> doesn't > >>>>>>>> give us proper > >>>>>>>> context indenting. > >>>>>>>> > >>>>>>>>> I have tested on a devshell, with oe-master branch, the kernel > >>>>>>>>> version using 5.15 > >>>>>>>>> > >>>>>>>>> 1. enable pahole-native and elfutils-native in linux-yocto.inc as > >>>>>>>>> a dependency. > >>>>>>>>> > >>>>>>>>> 2. enable CONFIG_DEBUG_KERNEL CONFIG_DEBUG_INFO and > >>>>>>>>> CONFIG_DEBUG_INFO_BTF under menuconfig > >>>>>>>>> > >>>>>>>>> 3. using "export PKG_CONFIG_SYSROOT_DIR=""" cleanning > >>>>>>>>> PKG_CONFIG_SYSROOT_DIR > >>>>>>>>> > >>>>>>>>> 4, make > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> If the test environment using bitbake, then we need to remove > >>>>>>>>> PAHOLE=false flag in kernel EXTRA_OEMAKE in > >>>>>>>>> classes-recipe/kernel.bbclass, otherwise, bitbake would report > >>>>>>>>> missing pahole error. > >>>>>>>>> > >>>>>>>> That's the same as my patch series (I've also changed PAHOLE=false to > >>>>>>>> a conditional in my series). > >>>>>>>> > >>>>>>>>> I'm seeing the following in qemux86-64 at the end of the build: > >>>>>>>>> > >>>>>>>>> | Unsupported DW_TAG_unspecified_type(0x3b) > >>>>>>>>> | Encountered error while encoding BTF. > >>>>>>>>> | LD .tmp_vmlinux.kallsyms1 > >>>>>>>>> | NM .tmp_vmlinux.kallsyms1.syms > >>>>>>>>> | KSYMS .tmp_vmlinux.kallsyms1.S > >>>>>>>>> | AS .tmp_vmlinux.kallsyms1.S > >>>>>>>>> | LD .tmp_vmlinux.kallsyms2 > >>>>>>>>> | NM .tmp_vmlinux.kallsyms2.syms > >>>>>>>>> | KSYMS .tmp_vmlinux.kallsyms2.S > >>>>>>>>> | AS .tmp_vmlinux.kallsyms2.S > >>>>>>>>> | LD vmlinux > >>>>>>>>> | BTFIDS vmlinux > >>>>>>>>> | FAILED: load BTF from vmlinux: No such file or directory > >>>>>>>>> | make[1]: *** > >>>>>>>>> [/opt/poky/build/tmp/work-shared/qemux86-64/kernel-source/scripts/Makefile.vmlinux:34: > >>>>>>>>> vmlinux] Error 255 > >>>>>>>>> | make[1]: *** Deleting file 'vmlinux' > >>>>>>>>> | make: *** > >>>>>>>>> [/opt/poky/build/tmp/work-shared/qemux86-64/kernel-source/Makefile:1255: > >>>>>>>>> > >>>>>>>>> vmlinux] Error 2 > >>>>>>>>> > >>>>>>>>> I haven't looked into it at all yet (but will do so over the > >>>>>>>>> weekend) > >>>>>>>>> .. but I thought > >>>>>>>>> > >>>>>>>>> I haven't seen this problem yet(i'll pull the latest oe-core and > >>>>>>>>> meta-oe code and try again), if possible, could you share a patch > >>>>>>>>> with me so that we can test it together? thanks. > >>>>>>>>> > >>>>>>>> I'm on oe-core master, with qemux86-64. > >>>>>>>> > >>>>>>>> I'll do a bit more work on the patch today, and can share it if I > >>>>>>>> can't figure out where that unsupported tag is coming from. > >>>>>>> It seems like it is a known issue, I found both a lkml thread and > >>>>>>> debian bug from October 2022. > >>>>>>> > >>>>>>> Your 5.15 kernel wouldn't show the issue. > >>>>>> Yes, this should not happens on 5.15 kernel. > >>>>>> > >>>>>> > >>>>>> Today I synced the oe-core/poky to latest master version, removed the > >>>>>> build dir and run oe-init-build-env again and switched to use default > >>>>>> linux 6.1.25 instead of 5.15. > >>>>>> > >>>>>> Some kernel config has been updated, there is no CONFIG_DEBUG_INFO, I > >>>>>> used CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT. > >>>>>> > >>>>>> So, currently my local setup kernel config is enabled > >>>>>> CONFIG_DEBUG_KERNEL CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT and > >>>>>> CONFIG_DEBUG_INFO_BTF, in order to make a easy test, I enabled > >>>>>> elfutils-native and pahole-native as DEPEND directly in linux-yocto.in, > >>>>>> and remove the PAHOLE=false in EXTRA_OEMAKE. > >>>>>> > >>>>>> my oe-core rev: 35e5d29a7d654fc79bdb898d0f1fb277270dbfd5 > >>>>>> > >>>>>> my meta-oe rev:b7aa66d734b911737b61610c1c47778e14b15c55 > >>>>>> > >>>>>> > >>>>>> When I ran bitbake linux-yocto -v -D, I have met the same issue, > >>>>>> > >>>>>> | Unsupported DW_TAG_unspecified_type(0x3b) > >>>>>> | Encountered error while encoding BTF. > >>>>>> > >>>>>> It's bit strange that the I removed my local OS(ubuntu)'s pahole and > >>>>>> the > >>>>>> code can be compiled without error: > >>>>>> > >>>>>> > >>>>>> CC init/version-timestamp.o > >>>>>> LD .tmp_vmlinux.btf > >>>>>> BTF .btf.vmlinux.bin.o > >>>>>> LD .tmp_vmlinux.kallsyms1 > >>>>>> NM .tmp_vmlinux.kallsyms1.syms > >>>>>> KSYMS .tmp_vmlinux.kallsyms1.S > >>>>>> AS .tmp_vmlinux.kallsyms1.S > >>>>>> LD .tmp_vmlinux.kallsyms2 > >>>>>> NM .tmp_vmlinux.kallsyms2.syms > >>>>>> KSYMS .tmp_vmlinux.kallsyms2.S > >>>>>> AS .tmp_vmlinux.kallsyms2.S > >>>>>> LD vmlinux > >>>>>> BTFIDS vmlinux > >>>>>> NM System.map > >>>>>> SORTTAB vmlinux > >>>>>> > >>>>> Indeed! > >>>>> > >>>>> What's the toolchain version on your ubuntu install ? > >>>> My local ubuntu's default pahole version is 1.22,seems some data > >>>> structure not line up with new kernel, the yocto pahole package is > >>>> 1.24 is working well. > >>>> > >>>> $ pahole --version > >>>> v1.22 > >>>> > >>>> > >>>>> It is likely > >>>>> either our toolchain version or configuration in combination with the > >>>>> kernel version that is adding the section that pahole can't > >>>>> understand/decode. > >>>> Yes, perhaps this is a limitation, we have to use PAHOLE in > >>>> EXTRA_OEMAKE to tell the make using pahole from the yocto native-sdk > >>>> instead of local host OS's /usr/bin/pahole when building the kernel. > >>>>> If you want to work with my patches, you can find my branch here: > >>>>> > >>>>> https://git.yoctoproject.org/poky-contrib/log/?h=zedd/kernel > >>>>> > >>>>> (you also need the linux-yocto bumps on that branch as they'll contain > >>>>> the kernel-cache SRCREV bumps to pick up the fragments for BTF, etc). > >>>> Thanks, I will sync the branch today and feedback later :) > >>>> > >>> Hi Bruce, > >>> > >>> > >>> I used the zedd/kernel branch build a qmemux86-64 kernel image, > >>> everything goes well. > >>> > >>> Shall we set the PAHOLE to native-sdk in EXTRA_OEMAKE to make sure > >>> kernel make use pahole from yocto not from host pc? > >> We shouldn't have to explicitly pass pahole like that, as our SDK and > >> native-sysroot paths > >> should be found first. > >> > >> But if you were able to have it succeed and mine didn't ... that could > >> be the issue. > >> > >> Thanks for the suggestion, I'll test it today and if so, I'll update > >> the patch accordingly > >> and add your sign-off. > > I instrumented the scripts to echo the pahole binary being used, and > > as expected, the build environment is setup to prefer our sysroot > > binaries (without that setup, we'd have all sorts of host > > contamination). > > > > | GEN Makefile > > | DESCEND objtool > > | DESCEND bpf/resolve_btfids > > | CALL > > /opt/poky/build/tmp/work-shared/qemux86-64/kernel-source/scripts/checksyscalls.sh > > | > > /opt/poky/build/tmp/work/qemux86_64-poky-linux/linux-yocto/6.1.28+gitAUTOINC+a18c55d2fc_c5c0c7ccfe-r0/recipe-sysroot-native/usr/bin/pahole > > | LD .tmp_vmlinux.btf > > | BTF .btf.vmlinux.bin.o > > | Unsupported DW_TAG_unspecified_type(0x3b) > > | Encountered error while encoding BTF. > > | > > /opt/poky/build/tmp/work/qemux86_64-poky-linux/linux-yocto/6.1.28+gitAUTOINC+a18c55d2fc_c5c0c7ccfe-r0/recipe-sysroot-native/usr/bin/pahole > > | LD .tmp_vmlinux.kallsyms1 > > | NM .tmp_vmlinux.kallsyms1.syms > > | KSYMS .tmp_vmlinux.kallsyms1.S > > | AS .tmp_vmlinux.kallsyms1.S > > | > > /opt/poky/build/tmp/work/qemux86_64-poky-linux/linux-yocto/6.1.28+gitAUTOINC+a18c55d2fc_c5c0c7ccfe-r0/recipe-sysroot-native/usr/bin/pahole > > | LD .tmp_vmlinux.kallsyms2 > > | NM .tmp_vmlinux.kallsyms2.syms > > | KSYMS .tmp_vmlinux.kallsyms2.S > > | AS .tmp_vmlinux.kallsyms2.S > > | > > /opt/poky/build/tmp/work/qemux86_64-poky-linux/linux-yocto/6.1.28+gitAUTOINC+a18c55d2fc_c5c0c7ccfe-r0/recipe-sysroot-native/usr/bin/pahole > > | LD vmlinux > > | BTFIDS vmlinux > > | FAILED: load BTF from vmlinux: No such file or directory > > > > But as you can see, I still get the DW_TAG issues. > > > > My fragments are setting CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT, > > and the required debug > > options. Those are enabled by the following in local.conf: > > > > KERNEL_FEATURES:append = "ktypes/developer/developer.cfg > > features/debug/debug-stack.scc features/debug/debug-btf.scc" > > > > Can you confirm that your success run used both the yocto/bitbake > > build and my fragments for configuration ? > > > > There must still be something different that I'm missing. > > Hi Bruce, > > > I have verified add "KERNEL_FEATURES:append = > "ktypes/developer/developer.cfg features/debug/debug-stack.scc > features/debug/debug-btf.scc" " > > in local.conf today, I cleaned the source with bitbake linux-yocto -c > cleanall and rebuilt, the result the same as before, BTF information was > generated > > without any error, in order to add more information, I uploaded the full > log as following link: > > https://raw.githubusercontent.com/chenxy1988/sync/main/oe-core-181487/1/linux-yocto-build.log > > > and my host pc os information: > > PRETTY_NAME="Ubuntu 22.04.2 LTS" > NAME="Ubuntu" > VERSION_ID="22.04" > VERSION="22.04.2 LTS (Jammy Jellyfish)" > VERSION_CODENAME=jammy > ID=ubuntu > ID_LIKE=debian > HOME_URL="https://www.ubuntu.com/" > SUPPORT_URL="https://help.ubuntu.com/" > BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" > PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" > UBUNTU_CODENAME=jammy > > > If possible, could you share the local.conf with me so that I can test > in my setup? And, there is another clue, > > i am not sure this is a right way to locate the root cause, since this > issue happens on pahole, can we exchange the > > pahole native binary which was generated by yocto to replace > linux-yocto/6.1.28+gitAUTOINC+76f7fbdf33_c5c0c7ccfe-r0/recipe-sysroot-native/usr/bin/pahole > > > if something wrong with pahole-native, my setup should also report the > DW_TAG_unspecified_type issue. > > > The following link is the pahole native binary that was generated by > yocto in my local environment: > > https://github.com/chenxy1988/sync/blob/main/oe-core-181487/1/pahole-native-yocto.tar.gz >
I have it working on my builder. I didn't realize, but I was on one of my machines with an older meta-openembedded, so my pahole native binary was just a bit too old! Which is a reason to consider moving pahole to oe-core. For now, I'll leave pahole where it is, and complete testing. I'm away all of next week, so I won't submit my queue for merging until I return. But I will keep my zedd/kernel contrib branch up to date with the latest set of patches. Bruce > > > Br, > > Xiangyu > > > > > > Bruce > > > >> Bruce > >> > >>> I tried to attached a patch as below, it has been tested on my local > >>> setup, from log we can see the PAHOLE point to native-sdk: > >>> > >>> -O2 -pipe > >>> PAHOLE=/local/upstream/poky-contrib/build/tmp/work/qemux86_64-poky-linux/linux-yocto/6.1.28+gitAUTOINC+76f7fbdf33_c5c0c7ccfe-r0/recipe-sysroot-native/usr/bin/pahole > >>> -j 20 bzImage > >>> > >>> and the image build without error: > >>> > >>> LD .tmp_vmlinux.btf > >>> BTF .btf.vmlinux.bin.o > >>> LD .tmp_vmlinux.kallsyms1 > >>> NM .tmp_vmlinux.kallsyms1.syms > >>> KSYMS .tmp_vmlinux.kallsyms1.S > >>> AS .tmp_vmlinux.kallsyms1.S > >>> LD .tmp_vmlinux.kallsyms2 > >>> NM .tmp_vmlinux.kallsyms2.syms > >>> KSYMS .tmp_vmlinux.kallsyms2.S > >>> AS .tmp_vmlinux.kallsyms2.S > >>> LD vmlinux > >>> BTFIDS vmlinux > >>> NM System.map > >>> > >>> > >>> From da4cbdb517f28f1b4254376c4f1d091a5ebca76c Mon Sep 17 00:00:00 2001 > >>> From: Xiangyu Chen <xiangyu.c...@windriver.com> > >>> Date: Wed, 17 May 2023 13:15:17 +0800 > >>> Subject: [PATCH] set the PAHOLE to native-sdk when KERNEL_DEBUG = True > >>> > >>> Signed-off-by: Xiangyu Chen <xiangyu.c...@windriver.com> > >>> --- > >>> meta/recipes-kernel/linux/linux-yocto.inc | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc > >>> b/meta/recipes-kernel/linux/linux-yocto.inc > >>> index 04a8105e17..90be616363 100644 > >>> --- a/meta/recipes-kernel/linux/linux-yocto.inc > >>> +++ b/meta/recipes-kernel/linux/linux-yocto.inc > >>> @@ -66,7 +66,7 @@ DEPENDS += '${@bb.utils.contains_any("ARCH", [ "x86", > >>> "arm64" ], "elfutils-nativ > >>> DEPENDS += "openssl-native util-linux-native" > >>> DEPENDS += "gmp-native libmpc-native" > >>> DEPENDS += '${@bb.utils.contains("KERNEL_DEBUG", "True", > >>> "pahole-native", "", d)}' > >>> -EXTRA_OEMAKE += '${@bb.utils.contains("KERNEL_DEBUG", "True", "", > >>> "PAHOLE=false", d)}' > >>> +EXTRA_OEMAKE += '${@bb.utils.contains("KERNEL_DEBUG", "True", > >>> "PAHOLE=${STAGING_DIR_NATIVE}/usr/bin/pahole", "PAHOLE=false", d)}' > >>> > >>> do_devshell:prepend() { > >>> # setup native pkg-config variables (kconfig scripts call > >>> pkg-config directly, cannot generically be overriden to pkg-config-native) > >>> -- > >>> 2.34.1 > >>> > >>> > >>> Br, > >>> > >>> Xiangyu > >>> > >>>> Br, > >>>> > >>>> Xiangyu > >>>> > >>>>> Bruce > >>>>> > >>>>>>> You can find a link to the lkml thread from the debian bug: > >>>>>>> https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1873553.html > >>>>>>> > >>>>>>> I'll clean up my patch, since this isn't something I can fix > >>>>>>> immediately. > >>>>>>> > >>>>>>> If you do track down patches in the latest kernel that haven't been > >>>>>>> sent to -stable, we can backport them to fix the linux-yocto builds > >>>>>>> with pahole. > >>>>>>> > >>>>>>> Bruce > >>>>>>> > >>>>>> Br, > >>>>>> > >>>>>> Xiangyu > >>>>>> > >>>>>>>> Bruce > >>>>>>>> > >>>>>>>>> I should check with you first to get the details on how you were > >>>>>>>>> testing pahole > >>>>>>>>> functionality. > >>>>>>>>> > >>>>>>>>> Bruce > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Br, > >>>>>>>>> > >>>>>>>>> Xiangyu > >>>>>>>>> > >>>>>>>>> Bruce > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Xiangyu > >>>>>>>>> > >>>>>>>>> Bruce > >>>>>>>>> > >>>>>>>>> Cheers, > >>>>>>>>> > >>>>>>>>> Richard > >>>>>>>>> > >>>>>>>>> -- > >>>>>>>>> - Thou shalt not follow the NULL pointer, for chaos and madness > >>>>>>>>> await > >>>>>>>>> thee at its end > >>>>>>>>> - "Use the force Harry" - Gandalf, Star Trek II > >>>>>>>>> > >>>>>>>>> -- > >>>>>>>>> - Thou shalt not follow the NULL pointer, for chaos and madness > >>>>>>>>> await > >>>>>>>>> thee at its end > >>>>>>>>> - "Use the force Harry" - Gandalf, Star Trek II > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> -- > >>>>>>>>> - Thou shalt not follow the NULL pointer, for chaos and madness > >>>>>>>>> await > >>>>>>>>> thee at its end > >>>>>>>>> - "Use the force Harry" - Gandalf, Star Trek II > >>>>>>>> -- > >>>>>>>> - Thou shalt not follow the NULL pointer, for chaos and madness await > >>>>>>>> thee at its end > >>>>>>>> - "Use the force Harry" - Gandalf, Star Trek II > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>> -- > >>>>>>> - Thou shalt not follow the NULL pointer, for chaos and madness await > >>>>>>> thee at its end > >>>>>>> - "Use the force Harry" - Gandalf, Star Trek II > >>>>> > >>>>> -- > >>>>> - Thou shalt not follow the NULL pointer, for chaos and madness await > >>>>> thee at its end > >>>>> - "Use the force Harry" - Gandalf, Star Trek II > >>>> > >>>> > >> > >> > >> -- > >> - Thou shalt not follow the NULL pointer, for chaos and madness await > >> thee at its end > >> - "Use the force Harry" - Gandalf, Star Trek II > >> > >> > >> > > > > -- > > - Thou shalt not follow the NULL pointer, for chaos and madness await > > thee at its end > > - "Use the force Harry" - Gandalf, Star Trek II -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181521): https://lists.openembedded.org/g/openembedded-core/message/181521 Mute This Topic: https://lists.openembedded.org/mt/98753313/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-