Re: KCFLAGS vs KCPPFLAGS for -fdebug-prefix-map
From: Nathan Chancellor <nathan@kernel.org>
Date: 2026-03-02 22:29:18
Also in:
linux-kbuild
Hi Alex, On Sat, Feb 28, 2026 at 08:34:37PM -0800, Alexander Coffin wrote:
From personally building the kernel a few months ago (reproducibly) one of the parts that was incorrect in the docs was that is says to use KCFLAGS when you should use KCPPFLAGS for the following. I had forgotten to report this until now and I'm not sure exactly what is expected to make a patch to the Kernel docs, so I am hoping someone else can do the probably one line fix (or maybe 2 if you count the other reference to KCFLAGS in the file).quoted
When the kernel is built out-of-tree, debug information may include absolute filenames for the source files. This must be overridden by including the ``-fdebug-prefix-map`` option in the `KCFLAGS`_ variable.from `Documentation/kbuild/reproducible-builds.rst`.
Thanks for bringing this up. I assume this is due to the debug information generated in assembler files. While the KCPPFLAGS suggestion works because it is included for both .c and .S compilation, I think it would be more proper to recommend applying '-fdebug-prefix-map' to KAFLAGS in addition to KCFLAGS to insure the flag is only added when truly needed, just as a defensive measure against compiler and Kbuild changes. I can send a patch for this later. Cheers, Nathan