[PATCH 1/2] sparse/semind: add the new --param=dissect-show-compiled option

Oleg Nesterov <[email protected]> Fri, 26 Dec 2025 15:31:56 +0100
Newsgroups org.kernel.vger.linux-sparse
Message-ID <[email protected]>
parse_cmdline_add() sets dissect_show_all_symbols = 1 unconditionally
and currently it is not possible to clear this option.

We could simply remove this line; users could use
"semind add --param=dissect-show-all-symbols," but this would break
existing setups.

Signed-off-by: Oleg Nesterov <[email protected]>
---
 options.c | 2 ++
 semind.c  | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/options.c b/options.c
index 0f207e80..dbe0349f 100644
--- a/options.c
+++ b/options.c
@@ -976,6 +976,8 @@ static char **handle_param(char *arg, char **next)
 
 	if (!strcmp(value, "dissect-show-all-symbols"))
 		dissect_show_all_symbols = 1;
+	else if (!strcmp(value, "dissect-show-compiled"))
+		dissect_show_all_symbols = 0;
 
 	return next;
 }
diff --git a/semind.c b/semind.c
index ad8003ba..fa084e04 100644
--- a/semind.c
+++ b/semind.c
@@ -322,14 +322,14 @@ done:
 		show_usage();
 	}
 
-	// enforce tabstop
+	// enforce defaults
 	tabstop = 1;
+	dissect_show_all_symbols = 1;
 
 	// step back since sparse_initialize will ignore argv[0].
 	optind--;
 
 	sparse_initialize(argc - optind, argv + optind, &semind_filelist);
-	dissect_show_all_symbols = 1;
 }
 
 static void parse_cmdline_rm(int argc, char **argv)
-- 
2.52.0