abidiff: Fix handling of linux-kernel-mode

Message ID 20230103102855.21686-1-petr.pavlu@suse.com
State New
Headers
Series abidiff: Fix handling of linux-kernel-mode |

Commit Message

Petr Pavlu Jan. 3, 2023, 10:28 a.m. UTC
  This fixes 08e76022 ("Support Linux Kernel ABI whitelist files") and
8fd02e0a ("Use the CTF reader by default when applicable").

The first commit removed handling of option --no-linux-kernel-mode. The
second one stopped passing opts.linux_kernel_mode down to the library
which also caused changing the default linux-kernel-mode of abidiff from
true to false. Both changes look unintentional as they are not mentioned
in either commit message.

Restore handling of the linux-kernel-mode in abidiff to match what is
described in doc/manuals/abidiff.rst and make it again consistent with
abidw.

	* tools/abidiff.cc (parse_command_line): Recognize
	  --no-linux-kernel-mode.
	  (main): Pass opts.linux_kernel_mode down to the library.

Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
---
 tools/abidiff.cc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
  

Comments

Dodji Seketeli Jan. 5, 2023, 12:08 p.m. UTC | #1
Hello Petr,

Petr Pavlu via Libabigail <libabigail@sourceware.org> a écrit:

> This fixes 08e76022 ("Support Linux Kernel ABI whitelist files") and
> 8fd02e0a ("Use the CTF reader by default when applicable").
>
> The first commit removed handling of option --no-linux-kernel-mode. The
> second one stopped passing opts.linux_kernel_mode down to the library
> which also caused changing the default linux-kernel-mode of abidiff from
> true to false. Both changes look unintentional as they are not mentioned
> in either commit message.
>
> Restore handling of the linux-kernel-mode in abidiff to match what is
> described in doc/manuals/abidiff.rst and make it again consistent with
> abidw.
>
> 	* tools/abidiff.cc (parse_command_line): Recognize
> 	  --no-linux-kernel-mode.
> 	  (main): Pass opts.linux_kernel_mode down to the library.
>
> Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>

Applied to master, thanks!

[...]

Cheers,
  

Patch

diff --git a/tools/abidiff.cc b/tools/abidiff.cc
index b27d8b08..91a626a9 100644
--- a/tools/abidiff.cc
+++ b/tools/abidiff.cc
@@ -434,6 +434,8 @@  parse_command_line(int argc, char* argv[], options& opts)
 	opts.exported_interfaces_only = true;
       else if (!strcmp(argv[i], "--allow-non-exported-interfaces"))
 	opts.exported_interfaces_only = false;
+      else if (!strcmp(argv[i], "--no-linux-kernel-mode"))
+	opts.linux_kernel_mode = false;
       else if (!strcmp(argv[i], "--no-default-suppression"))
 	opts.no_default_supprs = true;
       else if (!strcmp(argv[i], "--no-architecture"))
@@ -1235,7 +1237,8 @@  main(int argc, char* argv[])
 	      create_best_elf_based_reader(opts.file1,
 					   opts.prepared_di_root_paths1,
 					   env, requested_fe_kind,
-					   opts.show_all_types);
+					   opts.show_all_types,
+					   opts.linux_kernel_mode);
             ABG_ASSERT(rdr);
 	    set_generic_options(*rdr, opts);
 	    set_suppressions(*rdr, opts);
@@ -1307,7 +1310,8 @@  main(int argc, char* argv[])
 	      create_best_elf_based_reader(opts.file2,
 					   opts.prepared_di_root_paths2,
 					   env, requested_fe_kind,
-					   opts.show_all_types);
+					   opts.show_all_types,
+					   opts.linux_kernel_mode);
             ABG_ASSERT(rdr);
 
 	    set_generic_options(*rdr, opts);