doc: use KCFLAGS instead of EXTRA_CFLAGS to pass flags from command line
You should use KCFLAGS to pass additional compiler flags from the
command line. Using EXTRA_CFLAGS is wrong.
EXTRA_CFLAGS is supposed to specify flags applied only to the current
Makefile (and now deprecated in favor of ccflags-y).
It is still used in arch/mips/kvm/Makefile (and possibly in external
modules too). Passing EXTRA_CFLAGS from the command line overwrites
it and breaks the build.
I also fixed drivers/gpu/drm/tilcdc/Makefile because commit 816175dd1f
("drivers/gpu/drm/tilcdc: Makefile, only -Werror when no -W* in
EXTRA_CFLAGS") was based on the same misunderstanding.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Alex Shi <alex.shi@linux.alibaba.com>
Acked-by: Federico Vaga <federico.vaga@vaga.pv.it>
Link: https://lore.kernel.org/r/20210221152524.197693-1-masahiroy@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Родитель
93ea4a0b8f
Коммит
163ba35ff3
|
@ -242,7 +242,7 @@ and try to avoid "fixes" which make the warning go away without addressing
|
||||||
its cause.
|
its cause.
|
||||||
|
|
||||||
Note that not all compiler warnings are enabled by default. Build the
|
Note that not all compiler warnings are enabled by default. Build the
|
||||||
kernel with "make EXTRA_CFLAGS=-W" to get the full set.
|
kernel with "make KCFLAGS=-W" to get the full set.
|
||||||
|
|
||||||
The kernel provides several configuration options which turn on debugging
|
The kernel provides several configuration options which turn on debugging
|
||||||
features; most of these are found in the "kernel hacking" submenu. Several
|
features; most of these are found in the "kernel hacking" submenu. Several
|
||||||
|
|
|
@ -96,7 +96,7 @@ and elsewhere regarding submitting Linux kernel patches.
|
||||||
injection might be appropriate.
|
injection might be appropriate.
|
||||||
|
|
||||||
20) Newly-added code has been compiled with ``gcc -W`` (use
|
20) Newly-added code has been compiled with ``gcc -W`` (use
|
||||||
``make EXTRA_CFLAGS=-W``). This will generate lots of noise, but is good
|
``make KCFLAGS=-W``). This will generate lots of noise, but is good
|
||||||
for finding bugs like "warning: comparison between signed and unsigned".
|
for finding bugs like "warning: comparison between signed and unsigned".
|
||||||
|
|
||||||
21) Tested after it has been merged into the -mm patchset to make sure
|
21) Tested after it has been merged into the -mm patchset to make sure
|
||||||
|
|
|
@ -256,7 +256,7 @@ e cercate di evitare le "riparazioni" che fan sparire l'avvertimento senza
|
||||||
però averne trovato la causa.
|
però averne trovato la causa.
|
||||||
|
|
||||||
Tenete a mente che non tutti gli avvertimenti sono disabilitati di default.
|
Tenete a mente che non tutti gli avvertimenti sono disabilitati di default.
|
||||||
Costruite il kernel con "make EXTRA_CFLAGS=-W" per ottenerli tutti.
|
Costruite il kernel con "make KCFLAGS=-W" per ottenerli tutti.
|
||||||
|
|
||||||
Il kernel fornisce differenti opzioni che abilitano funzionalità di debugging;
|
Il kernel fornisce differenti opzioni che abilitano funzionalità di debugging;
|
||||||
molti di queste sono trovano all'interno del sotto menu "kernel hacking".
|
molti di queste sono trovano all'interno del sotto menu "kernel hacking".
|
||||||
|
|
|
@ -104,7 +104,7 @@ sottomissione delle patch, in particolare
|
||||||
l'iniezione di fallimenti specifici per il sottosistema.
|
l'iniezione di fallimenti specifici per il sottosistema.
|
||||||
|
|
||||||
22) Il nuovo codice è stato compilato con ``gcc -W`` (usate
|
22) Il nuovo codice è stato compilato con ``gcc -W`` (usate
|
||||||
``make EXTRA_CFLAGS=-W``). Questo genererà molti avvisi, ma è ottimo
|
``make KCFLAGS=-W``). Questo genererà molti avvisi, ma è ottimo
|
||||||
per scovare bachi come "warning: comparison between signed and unsigned".
|
per scovare bachi come "warning: comparison between signed and unsigned".
|
||||||
|
|
||||||
23) La patch è stata verificata dopo essere stata inclusa nella serie di patch
|
23) La patch è stata verificata dopo essere stata inclusa nella serie di patch
|
||||||
|
|
|
@ -165,7 +165,7 @@ Linus对这个问题给出了最佳答案:
|
||||||
通常,这些警告都指向真正的问题。提交以供审阅的代码通常不会产生任何编译器警告。
|
通常,这些警告都指向真正的问题。提交以供审阅的代码通常不会产生任何编译器警告。
|
||||||
在消除警告时,注意了解真正的原因,并尽量避免“修复”,使警告消失而不解决其原因。
|
在消除警告时,注意了解真正的原因,并尽量避免“修复”,使警告消失而不解决其原因。
|
||||||
|
|
||||||
请注意,并非所有编译器警告都默认启用。使用“make EXTRA_CFLAGS=-W”构建内核以
|
请注意,并非所有编译器警告都默认启用。使用“make KCFLAGS=-W”构建内核以
|
||||||
获得完整集合。
|
获得完整集合。
|
||||||
|
|
||||||
内核提供了几个配置选项,可以打开调试功能;大多数配置选项位于“kernel hacking”
|
内核提供了几个配置选项,可以打开调试功能;大多数配置选项位于“kernel hacking”
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
ifeq (, $(findstring -W,$(EXTRA_CFLAGS)))
|
ifeq (, $(findstring -W,$(KCFLAGS)))
|
||||||
ccflags-y += -Werror
|
ccflags-y += -Werror
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче