Kbuild works in objtree, not in srctree.  So, __FILE__ is prefixed
with $(srctree)/ for out-of-tree build.

For example, WARN_ON() will look as follows if you built your kernel
out of source tree:

WARNING: CPU: 1 PID: 1 at /path/to/build/directory/arch/arm64/kernel/foo.c:...

With this series, it will always look like follows regardless of O= option.

WARNING: CPU: 1 PID: 1 at arch/arm64/kernel/foo.c:...

If GCC does not support -Wno-builtin-macro-redefined (i.e. gcc version < 4.4),
the output is prefixed with absolute path.



Masahiro Yamada (2):
  kbuild: add stringify helper to quote a string passed to C files
  kbuild: redefine __FILE__ as relative path from $(srctree) if possible

 Makefile               | 9 +++++++++
 scripts/Kbuild.include | 4 ++++
 scripts/Makefile.lib   | 2 +-
 3 files changed, 14 insertions(+), 1 deletion(-)

-- 
2.7.4

Reply via email to