[23/27] abidw: Add a --kmi-stablelist option alongside existing --kmi-whitelist

Message ID 87ikvjjoow.fsf@seketeli.org
State New
Headers
Series Implement type hashing & fix self-comparing gcc-gnat in fc37 |

Commit Message

Dodji Seketeli Aug. 29, 2024, 4:09 p.m. UTC
  Hello,

	* doc/manuals/abidw.rst: Update the documentation.
	* tools/abidw.cc (display_usage): Add a help string for the new
	--kmi-stablelist.
	(parse_command): Parse it.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
---
 doc/manuals/abidw.rst | 16 +++++++++-------
 tools/abidw.cc        |  3 ++-
 2 files changed, 11 insertions(+), 8 deletions(-)
  

Patch

diff --git a/doc/manuals/abidw.rst b/doc/manuals/abidw.rst
index e84047c5..cd3e6253 100644
--- a/doc/manuals/abidw.rst
+++ b/doc/manuals/abidw.rst
@@ -134,20 +134,22 @@  Options
     specifications are suppressed from the output of this tool.
 
 
-  * ``--kmi-whitelist | -kaw`` <*path-to-whitelist*>
+  * ``--kmi-whitelist | --kmi-stablelist |-w`` <*path-to-stablelist*>
 
     When analyzing a `Linux Kernel`_ binary, this option points to the
-    white list of names of ELF symbols of functions and variables
-    which ABI must be written out.  That white list is called a "
-    Kernel Module Interface white list".  This is because for the
+    list of names of ELF symbols of functions and variables which ABI
+    must be written out.  Any function or variable with a name that is
+    not included in that list will not ignored.  That list is called a
+    " Kernel Module Interface stable list".  This is because for the
     Kernel, we don't talk about the ABI; we rather talk about the
     interface between the Kernel and its module. Hence the term
-    ``KMI`` rather than ``ABI``
+    ``KMI`` rather than ``KABI``.
 
     Any other function or variable which ELF symbol are not present in
-    that white list will not be considered by the KMI writing process.
+    that stable list will not be considered by the KMI writing
+    process.
 
-    If this option is not provided -- thus if no white list is
+    If this option is not provided -- thus if no stable list is
     provided -- then the entire KMI, that is, all publicly defined and
     exported functions and global variables by the `Linux Kernel`_
     binaries is emitted.
diff --git a/tools/abidw.cc b/tools/abidw.cc
index b7642747..87328075 100644
--- a/tools/abidw.cc
+++ b/tools/abidw.cc
@@ -239,7 +239,7 @@  display_usage(const string& prog_name, ostream& out)
     "interfaces from the binary"
     << "  --no-linux-kernel-mode  don't consider the input binary as "
        "a Linux Kernel binary\n"
-    << "  --kmi-whitelist|-w  path to a linux kernel "
+    << "  --kmi-whitelist|--kmi-stablelist|-w  path to a linux kernel "
     "abi whitelist\n"
     << "  --linux-tree|--lt  emit the ABI for the union of a "
     "vmlinux and its modules\n"
@@ -356,6 +356,7 @@  parse_command_line(int argc, char* argv[], options& opts)
 	  ++i;
 	}
       else if (!strcmp(argv[i], "--kmi-whitelist")
+	       || !strcmp(argv[i], "--kmi-stablelist")
 	       || !strcmp(argv[i], "-w"))
 	{
 	  int j = i + 1;