abidiff: Fix handling of linux-kernel-mode
authorPetr Pavlu <petr.pavlu@suse.com>
Tue, 3 Jan 2023 10:28:55 +0000 (11:28 +0100)
committerDodji Seketeli <dodji@redhat.com>
Thu, 5 Jan 2023 12:07:30 +0000 (13:07 +0100)
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>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
tools/abidiff.cc

index b27d8b08c788c073e1db80bd6a67c2dc12afbc96..91a626a9febdb4b373c223a477dc4e6c2f47d036 100644 (file)
@@ -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);