diff --git a/include/abg-tools-utils.h b/include/abg-tools-utils.h
index 564fe646..c47e3f4e 100644
--- a/include/abg-tools-utils.h
+++ b/include/abg-tools-utils.h
@@ -83,6 +83,10 @@ string trim_white_space(const string&);
 string trim_leading_string(const string& from, const string& to_trim);
 void convert_char_stars_to_char_star_stars(const vector<char*>&,
 					   vector<char**>&);
+
+suppr::type_suppression_sptr
+gen_suppr_spec_from_headers(const string& hdrs_root_dir);
+
 suppr::type_suppression_sptr
 gen_suppr_spec_from_headers(const string& hdrs_root_dir,
 			    const vector<string>& hdr_files);
diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc
index b05ed645..a06e8615 100644
--- a/src/abg-tools-utils.cc
+++ b/src/abg-tools-utils.cc
@@ -1788,19 +1788,22 @@ make_path_absolute_to_be_freed(const char*p)
 }
 
 /// This is a sub-routine of gen_suppr_spec_from_headers and
-///  handle_fts_entry.
+/// handle_fts_entry.
 ///
-/// @param file add to the to the vector returned by
+/// It setups a type suppression which is meant to keep types defined
+/// in a given file and suppress all other types.
+///
+/// @param file_path the path to the file that defines types that are
+/// meant to be kept by the type suppression.  All other types defined
+/// in other files are to be suppressed.  Note that this file path is
+/// added to the vector returned by
 /// type_suppression::get_source_locations_to_keep()
 ///
-/// @param suppr the file name is going to be added to the vector
-/// returned by the method type_suppression::get_source_locations_to_keep
-/// of this instance.
-/// If this smart pointer is nil then a new instance @ref
-/// type_suppression is created and this variable is made to point to
-/// it.
+/// @param suppr the type suppression to setup.  If this smart pointer
+/// is nil then a new instance @ref type_suppression is created and
+/// this variable is made to point to it.
 static void
-handle_file_entry(const string& file,
+handle_file_entry(const string& file_path,
 		  type_suppression_sptr& suppr)
 {
   if (!suppr)
@@ -1818,7 +1821,7 @@ handle_file_entry(const string& file,
   // And types that are defined in header files that are under
   // the header directory file we are looking are to be
   // considered public types too.
-  suppr->get_source_locations_to_keep().insert(file);
+  suppr->get_source_locations_to_keep().insert(file_path);
 }
 
 /// This is a sub-routine of gen_suppr_spec_from_headers.
@@ -1854,12 +1857,16 @@ handle_fts_entry(const FTSENT *entry,
 }
 
 /// Generate a type suppression specification that suppresses ABI
-/// changes for types defines in source files that are *NOT* in a give
-/// header root dir.
+/// changes for types defined in source files that are neither in a
+/// given header root dir, not in a set of header files.
 ///
 /// @param headers_root_dir ABI changes in types defined in files
 /// *NOT* found in this directory tree are going be suppressed.
 ///
+/// @param header_files a set of additional header files that define
+/// types that are to be kept (not supressed) by the returned type
+/// suppression.
+///
 /// @return the resulting type suppression generated, if any file was
 /// found in the directory tree @p headers_root_dir.
 type_suppression_sptr
@@ -1895,6 +1902,23 @@ gen_suppr_spec_from_headers(const string& headers_root_dir,
   return result;
 }
 
+/// Generate a type suppression specification that suppresses ABI
+/// changes for types defined in source files that are not in a given
+/// header root dir.
+///
+/// @param headers_root_dir ABI changes in types defined in files
+/// *NOT* found in this directory tree are going be suppressed.
+///
+/// @return the resulting type suppression generated, if any file was
+/// found in the directory tree @p headers_root_dir.
+type_suppression_sptr
+gen_suppr_spec_from_headers(const string& headers_root_dir)
+{
+  // We don't list individual files, just look under the headers_path.
+  vector<string> header_files;
+  return gen_suppr_spec_from_headers(headers_root_dir, header_files);
+}
+
 /// Generate a suppression specification from kernel abi whitelist
 /// files.
 ///
diff --git a/tools/abipkgdiff.cc b/tools/abipkgdiff.cc
index ea4efb0e..611b4d07 100644
--- a/tools/abipkgdiff.cc
+++ b/tools/abipkgdiff.cc
@@ -1529,10 +1529,8 @@ maybe_create_private_types_suppressions(package& pkg, const options &opts)
   if (!is_dir(headers_path))
     return false;
 
-  // We don't list individual files, just look under the headers_path.
-  vector<string> no_header_files;
   suppression_sptr suppr =
-    gen_suppr_spec_from_headers(headers_path, no_header_files);
+    gen_suppr_spec_from_headers(headers_path);
 
   if (suppr)
     {
