[PATCH] Re-enable warning for non-existent symbols.

Christian Melki christian.melki at t2data.com
Wed Feb 23 11:30:25 PST 2022


>From the kernel:
Commit f072181e6403b0fe2e2aa800a005497b748fd284 ("kconfig: drop the
""trying to assign nonexistent symbol" warning").

Rationale behind re-enabling this is that as an embedded developer,
I often find myself doing oldconfigs during upgrades. Symbols
do change names and are sometimes lost silently, with the occasional
headache. My need for these warnings are probably different than
the need of the typical kernel developer.

(Un)fortunatly, a lot of projects directly inherit the kernel kconfig/lxdialog
variant without much thought into their own symbols and practices.
The kernel itself has some 1k+ non-existent symbols in various
defconfigs as developers are not nagged about their cleanliness.

This warning could do well in various projects. Barebox, ptxdist,
U-boot, busybox etc.

Signed-off-by: Christian Melki <christian.melki at t2data.com>
---
 scripts/kconfig/confdata.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index cf72680cd..d189e088d 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -439,6 +439,7 @@ load:
 			if (def == S_DEF_USER) {
 				sym = sym_find(line + 2 + strlen(CONFIG_));
 				if (!sym) {
+					conf_warning("trying to assign nonexistent symbol %s", line + 2 + strlen(CONFIG_));
 					conf_set_changed(true);
 					continue;
 				}
@@ -481,8 +482,10 @@ load:
 					 * include/config/FOO must be touched.
 					 */
 					conf_touch_dep(line + strlen(CONFIG_));
-				else
+				else {
 					conf_set_changed(true);
+					conf_warning("trying to assign nonexistent symbol %s", line + strlen(CONFIG_));
+				}
 				continue;
 			}
 
-- 
2.30.2




More information about the barebox mailing list