From 0eb4048bc5865579327f5a88086e3e3241b012cb Mon Sep 17 00:00:00 2001 From: Dengke Du Date: Thu, 4 Apr 2019 17:02:33 +0800 Subject: perf: workaround the error cased by maybe-uninitialized warning 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 Signed-off-by: Richard Purdie --- 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 5acdcfb9f0..546076f84b 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" -- cgit 1.2.3-korg