On Thu, Apr 4, 2019 at 2:03 AM Dengke Du <[email protected]> wrote: > > When enable DEBUG_BUILD, the perf build failed by the following error: > libbpf.c:727:36: error: 'data' may be used uninitialized in this function > [-Werror=maybe-uninitialized] > This is ok until Khem commit a patch in oe-core: > 16643b03227466e2c80a24c2d079fe36e89553c1 > This commit import "-Og" option to "DEBUG_OPTIMIZATION", result in this error. > > Actually, the warning was misinformation. We explore the code in libbpf.c: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/lib/bpf/libbpf.c#n640 > -------------------------------------------------------------------------- > if (scn) > data = elf_getdata(scn, NULL); > if (!scn || !data) { > pr_warning("failed to get Elf_Data from map section %d\n", > obj->efile.maps_shndx); > return -EINVAL; > } > ...... > using data... > ...... > -------------------------------------------------------------------------- > If the 'scn' was not null, the data will be initialized. if the data was null, > the function will return -EINVAL, so the data must be not null, but compiler > can't see it in 'if' code block, so treat it as 'maybe-uninitialized'. > > Signed-off-by: Dengke Du <[email protected]> > --- > meta/recipes-kernel/perf/perf.bb | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/recipes-kernel/perf/perf.bb > b/meta/recipes-kernel/perf/perf.bb > index 5acdcfb..546076f 100644 > --- a/meta/recipes-kernel/perf/perf.bb > +++ b/meta/recipes-kernel/perf/perf.bb > @@ -271,3 +271,4 @@ FILES_${PN}-perl = "${libexecdir}/perf-core/scripts/perl" > > > INHIBIT_PACKAGE_DEBUG_SPLIT="1" > +DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
I was thinking that this would be applied globally, but I think doing it on need bases is a better approach so this looks ok to me. -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
