On Wed, Jan 3, 2018 at 10:57 AM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Wed, Jan 03, 2018 at 10:54:16AM +0100, Greg KH wrote: >> On Wed, Jan 03, 2018 at 12:24:12AM +0100, Arnd Bergmann wrote: >> > On Wed, Dec 6, 2017 at 1:18 AM, Build bot for Mark Brown >> > <broonie@xxxxxxxxxx> wrote: >> > >> > > ------------------------------------------------------------------------------- >> > > x86_64-defconfig : PASS, 0 errors, 2 warnings, 0 section mismatches >> > > >> > > Warnings: >> > > ../include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address] >> > > ../include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address] >> > > ------------------------------------------------------------------------------- >> > >> > This warning keeps coming up in 3.18 and 4.1 builds, which lack a backport of >> > >> > ef6000b4c670 ("Disable the __builtin_return_address() warning globally >> > after all") >> > >> > The other build bots use different gcc versions that don't report the >> > warning here, >> > so only Mark's bot triggers it. The warning in this file is harmless, >> > and the patch >> > only turns off the warning flag. >> >> Ah, I tried to figure this one out in the past, thanks for this, I'll >> queue it up soon. Hm, this isn't in 4.4.y, why is it not showing up >> there? Due to a different backport of this type of thing? > > Nope, doesn't apply to 3.18 at all, as the main part of this patch is > already in there. I don't really understand it, it seems that the > cc-disable-warning option isn't working for me for 3.18 at all in my > local builds. I spent a few hours on it last week, but gave up in the > end :( Right, this is more mysterious than I thought. I see now that the original patch 124a3d88fa20 ("Disable "frame-address" warning") was backported into 3.18, just not the revert 377ccbb48373 ("Makefile: Mute warning for __builtin_return_address(>0) for tracing only") and the subsequent revert^2 ef6000b4c670 ("Disable the __builtin_return_address() warning globally after all"). I have checked that on my build box, the warning is successfully disabled with gcc-6 and higher (tried 6.1.1, 6.3.1, 7.0.0, 7.1.1) and older compilers have neither the warning nor the option to disable it. I also tried reproducing the warning on arm and aarch64 with some other modifications but I get a different warning there: kernel/sched/core.c: In function 'preempt_count_sub': include/linux/ftrace.h:632:36: warning: unsupported argument to '__builtin_return_address' Greg and Mark, which x86-64 compiler versions do you use? Arnd